<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Sql on Chris McKelt - Remembering Thoughts</title><link>https://blog.smarttechventures.au/tags/sql/</link><description>Recent content in Sql on Chris McKelt - Remembering Thoughts</description><generator>Hugo -- 0.147.2</generator><language>en</language><lastBuildDate>Tue, 24 Aug 2010 00:00:00 +0800</lastBuildDate><atom:link href="https://blog.smarttechventures.au/tags/sql/index.xml" rel="self" type="application/rss+xml"/><item><title>Invalid object name 'master.dbo.spt_values'.</title><link>https://blog.smarttechventures.au/articles/posts/invalid-object-name-master-dbo-spt-values/</link><pubDate>Tue, 24 Aug 2010 00:00:00 +0800</pubDate><guid>https://blog.smarttechventures.au/articles/posts/invalid-object-name-master-dbo-spt-values/</guid><description>&lt;h1 id="invalid-object-name-masterdbospt_values">&amp;ldquo;Invalid object name &amp;lsquo;master.dbo.spt_values&amp;rsquo;.&amp;rdquo;&lt;/h1>
&lt;p>This means your SQL Master DB is in a bad state.&lt;/p>
&lt;p>To fix:&lt;/p>
&lt;p>Error- Invalid object name &amp;lsquo;master.dbo.spt_values&amp;rsquo;.&lt;/p>
&lt;p>CD&lt;/p>
&lt;p>&amp;ldquo;C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Install&amp;rdquo;&lt;/p>
&lt;p>run &lt;strong>u_tables.sql&lt;/strong> in master&amp;hellip;.&lt;/p></description></item><item><title>Integrated Security = SSPI -- Security Support Provider Interface</title><link>https://blog.smarttechventures.au/articles/posts/integrated-security-sspi-security-support-provider-interface/</link><pubDate>Tue, 29 Jun 2010 00:00:00 +0800</pubDate><guid>https://blog.smarttechventures.au/articles/posts/integrated-security-sspi-security-support-provider-interface/</guid><description>&lt;p>Using Integrated Security in connection strings should be either of the following:&lt;/p>
&lt;h3 id="integrated-securitysspi">Integrated Security=SSPI&lt;/h3>
&lt;p>or&lt;/p>
&lt;h3 id="integrated-securityfalse">Integrated Security=false&lt;/h3>
&lt;p>Not&lt;/p>
&lt;h5 id="integrated-securitytrue">&lt;del>Integrated Security=true&lt;/del>&lt;/h5></description></item><item><title>Obliterate Database</title><link>https://blog.smarttechventures.au/articles/posts/obliterate-database/</link><pubDate>Thu, 10 Dec 2009 00:00:00 +0800</pubDate><guid>https://blog.smarttechventures.au/articles/posts/obliterate-database/</guid><description>&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-gdscript3" data-lang="gdscript3">&lt;span style="display:flex;">&lt;span>declare
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f00;background-color:#faa">@&lt;/span>vcFK varchar(&lt;span style="color:#099">250&lt;/span>),
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f00;background-color:#faa">@&lt;/span>vcTable varchar(&lt;span style="color:#099">250&lt;/span>),
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f00;background-color:#faa">@&lt;/span>vcSP varchar(&lt;span style="color:#099">250&lt;/span>),
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f00;background-color:#faa">@&lt;/span>vcView varchar(&lt;span style="color:#099">250&lt;/span>),
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f00;background-color:#faa">@&lt;/span>vcFn varchar(&lt;span style="color:#099">250&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>-- ...drop all foreign key constraints
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>select &lt;span style="color:#f00;background-color:#faa">@&lt;/span>vcFK = &lt;span style="color:#0aa">min&lt;/span>(name) from sysobjects where type=&lt;span style="color:#a50">&amp;#39;F&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#00a">while&lt;/span> &lt;span style="color:#f00;background-color:#faa">@&lt;/span>vcFK is &lt;span style="color:#00a">not&lt;/span> null
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>begin
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#0aa">print&lt;/span> &lt;span style="color:#a50">&amp;#39;Dropping FK constraint &amp;#39;&lt;/span> + &lt;span style="color:#f00;background-color:#faa">@&lt;/span>vcFK
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> -- ...get name of table corresponding to the foreign key
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> select
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f00;background-color:#faa">@&lt;/span>vcTable = S2.name
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> from
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> sysobjects S1
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> inner join sysconstraints C on S1.id = C.constid
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> inner join sysobjects S2 on C.id = S2.id
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> where
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> S1.name = &lt;span style="color:#f00;background-color:#faa">@&lt;/span>vcFK &lt;span style="color:#00a">and&lt;/span> S1.type=&lt;span style="color:#a50">&amp;#39;F&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> exec (&lt;span style="color:#a50">&amp;#39;alter table &amp;#39;&lt;/span> + &lt;span style="color:#f00;background-color:#faa">@&lt;/span>vcTable + &lt;span style="color:#a50">&amp;#39; drop constraint &amp;#39;&lt;/span> + &lt;span style="color:#f00;background-color:#faa">@&lt;/span>vcFK)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> select &lt;span style="color:#f00;background-color:#faa">@&lt;/span>vcFK = &lt;span style="color:#0aa">min&lt;/span>(name) from sysobjects where type=&lt;span style="color:#a50">&amp;#39;F&amp;#39;&lt;/span> &lt;span style="color:#00a">and&lt;/span> name &amp;gt; &lt;span style="color:#f00;background-color:#faa">@&lt;/span>vcFK
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>end
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>-- ...drop all tables
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>select &lt;span style="color:#f00;background-color:#faa">@&lt;/span>vcTable = &lt;span style="color:#0aa">min&lt;/span>(name) from sysobjects where type=&lt;span style="color:#a50">&amp;#39;U&amp;#39;&lt;/span> &lt;span style="color:#00a">and&lt;/span> name &lt;span style="color:#00a">not&lt;/span> like &lt;span style="color:#a50">&amp;#39;dt%&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#00a">while&lt;/span> &lt;span style="color:#f00;background-color:#faa">@&lt;/span>vcTable is &lt;span style="color:#00a">not&lt;/span> null
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>begin
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#0aa">print&lt;/span> &lt;span style="color:#a50">&amp;#39;Dropping table &amp;#39;&lt;/span> + &lt;span style="color:#f00;background-color:#faa">@&lt;/span>vcTable
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> exec (&lt;span style="color:#a50">&amp;#39;drop table &amp;#39;&lt;/span> + &lt;span style="color:#f00;background-color:#faa">@&lt;/span>vcTable)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> select &lt;span style="color:#f00;background-color:#faa">@&lt;/span>vcTable = &lt;span style="color:#0aa">min&lt;/span>(name) from sysobjects where type=&lt;span style="color:#a50">&amp;#39;U&amp;#39;&lt;/span> &lt;span style="color:#00a">and&lt;/span> name &lt;span style="color:#00a">not&lt;/span> like &lt;span style="color:#a50">&amp;#39;dt%&amp;#39;&lt;/span> &lt;span style="color:#00a">and&lt;/span> name &amp;gt; &lt;span style="color:#f00;background-color:#faa">@&lt;/span>vcTable
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>end
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>-- ...drop all our stored procedures
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>select &lt;span style="color:#f00;background-color:#faa">@&lt;/span>vcSP = &lt;span style="color:#0aa">min&lt;/span>(name) from sysobjects where type=&lt;span style="color:#a50">&amp;#39;P&amp;#39;&lt;/span> &lt;span style="color:#00a">and&lt;/span> (name like &lt;span style="color:#a50">&amp;#39;usp%&amp;#39;&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#00a">while&lt;/span> &lt;span style="color:#f00;background-color:#faa">@&lt;/span>vcSP is &lt;span style="color:#00a">not&lt;/span> null
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>begin
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#0aa">print&lt;/span> &lt;span style="color:#a50">&amp;#39;Dropping procedure &amp;#39;&lt;/span> + &lt;span style="color:#f00;background-color:#faa">@&lt;/span>vcSP
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> exec (&lt;span style="color:#a50">&amp;#39;drop procedure &amp;#39;&lt;/span> + &lt;span style="color:#f00;background-color:#faa">@&lt;/span>vcSP)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> select &lt;span style="color:#f00;background-color:#faa">@&lt;/span>vcSP = &lt;span style="color:#0aa">min&lt;/span>(name) from sysobjects where type=&lt;span style="color:#a50">&amp;#39;P&amp;#39;&lt;/span> &lt;span style="color:#00a">and&lt;/span> (name like &lt;span style="color:#a50">&amp;#39;usp%&amp;#39;&lt;/span>) &lt;span style="color:#00a">and&lt;/span> name &amp;gt; &lt;span style="color:#f00;background-color:#faa">@&lt;/span>vcSP
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>end
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>-- ...drop all views
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>select &lt;span style="color:#f00;background-color:#faa">@&lt;/span>vcView = &lt;span style="color:#0aa">min&lt;/span>(name) from sysobjects where type=&lt;span style="color:#a50">&amp;#39;V&amp;#39;&lt;/span> &lt;span style="color:#00a">and&lt;/span> name like &lt;span style="color:#a50">&amp;#39;v%&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#00a">while&lt;/span> &lt;span style="color:#f00;background-color:#faa">@&lt;/span>vcView is &lt;span style="color:#00a">not&lt;/span> null
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>begin
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#0aa">print&lt;/span> &lt;span style="color:#a50">&amp;#39;Dropping view &amp;#39;&lt;/span> + &lt;span style="color:#f00;background-color:#faa">@&lt;/span>vcView
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> exec (&lt;span style="color:#a50">&amp;#39;drop view &amp;#39;&lt;/span> + &lt;span style="color:#f00;background-color:#faa">@&lt;/span>vcView)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> select &lt;span style="color:#f00;background-color:#faa">@&lt;/span>vcView = &lt;span style="color:#0aa">min&lt;/span>(name) from sysobjects where type=&lt;span style="color:#a50">&amp;#39;V&amp;#39;&lt;/span> &lt;span style="color:#00a">and&lt;/span> name like &lt;span style="color:#a50">&amp;#39;v%&amp;#39;&lt;/span> &lt;span style="color:#00a">and&lt;/span> name &amp;gt; &lt;span style="color:#f00;background-color:#faa">@&lt;/span>vcView
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>end
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>-- ...drop all functions
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>select &lt;span style="color:#f00;background-color:#faa">@&lt;/span>vcFn = &lt;span style="color:#0aa">min&lt;/span>(name) from sysobjects where type=&lt;span style="color:#a50">&amp;#39;FN&amp;#39;&lt;/span> &lt;span style="color:#00a">and&lt;/span> name like &lt;span style="color:#a50">&amp;#39;udf%&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#00a">while&lt;/span> &lt;span style="color:#f00;background-color:#faa">@&lt;/span>vcFn is &lt;span style="color:#00a">not&lt;/span> null
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>begin
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#0aa">print&lt;/span> &lt;span style="color:#a50">&amp;#39;Dropping function &amp;#39;&lt;/span> + &lt;span style="color:#f00;background-color:#faa">@&lt;/span>vcFn
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> exec (&lt;span style="color:#a50">&amp;#39;drop function &amp;#39;&lt;/span> + &lt;span style="color:#f00;background-color:#faa">@&lt;/span>vcFn)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> select &lt;span style="color:#f00;background-color:#faa">@&lt;/span>vcFn = &lt;span style="color:#0aa">min&lt;/span>(name) from sysobjects where type=&lt;span style="color:#a50">&amp;#39;FN&amp;#39;&lt;/span> &lt;span style="color:#00a">and&lt;/span> name like &lt;span style="color:#a50">&amp;#39;udf%&amp;#39;&lt;/span> &lt;span style="color:#00a">and&lt;/span> name &amp;gt; &lt;span style="color:#f00;background-color:#faa">@&lt;/span>vcFn
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>end
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>SQL Server error handling</title><link>https://blog.smarttechventures.au/articles/posts/sql-server-error-handling/</link><pubDate>Fri, 11 Sep 2009 00:00:00 +0800</pubDate><guid>https://blog.smarttechventures.au/articles/posts/sql-server-error-handling/</guid><description>&lt;blockquote>
&lt;p>CREATE PROCEDURE &lt;procName>
AS
BEGIN
SET NOCOUNT ON
BEGIN TRY&lt;/p>
&lt;pre>&lt;code> --Do work
&lt;/code>&lt;/pre>
&lt;p>END TRY&lt;/p>
&lt;p>BEGIN CATCH
/* Note that catching and rethrowing an exception is a lossy operation. ERROR_PROCEDURE() etc will be reset. */
DECLARE @errorMessage NVARCHAR(4000);
DECLARE @errorSeverity INT;
DECLARE @errorState INT;&lt;/p>
&lt;pre>&lt;code> SELECT @errorMessage = ERROR\_MESSAGE(),
@errorSeverity = ERROR\_SEVERITY() ,
@errorState = ERROR\_STATE();
--Perform required recovery actions.
RAISERROR ( @errorMessage, @errorSeverity, @errorState );
RETURN 1;
&lt;/code>&lt;/pre>
&lt;p>END CATCH&lt;/p></description></item><item><title>SQL Tricks</title><link>https://blog.smarttechventures.au/articles/posts/sql-tricks/</link><pubDate>Thu, 31 Jul 2008 00:00:00 +0800</pubDate><guid>https://blog.smarttechventures.au/articles/posts/sql-tricks/</guid><description>&lt;h4 id="delete-all-tables">Delete all tables&lt;/h4>
&lt;p>EXEC sp_MSforeachtable @command1 = &amp;ldquo;DROP TABLE ?&amp;rdquo;&lt;/p>
&lt;h4 id="grant-execute-permissions-to-all-stored-procedures-to-a-specific-user">Grant execute permissions to all stored procedures to a specific user&lt;/h4>
&lt;pre>&lt;code>`CREATE PROC grantexecutepermission( @UserName NVARCHAR(250)) AS DECLARE curse CURSOR  FOR SELECT name FROM   sysobjects WHERE  TYPE = 'P'`
OPEN curse
DECLARE  @proc VARCHAR(100)
DECLARE  @stmt NVARCHAR(200)
FETCH NEXT FROM curse INTO @proc
WHILE @@FETCH\_STATUS \= 0 BEGIN SET @stmt \= 'grant execute on ' + @proc + ' to ' + @UserName
EXEC sp\_executesql @STMT
PRINT @stmt
FETCH NEXT FROM curse INTO @proc END
CLOSE curse
DEALLOCATE curse
&lt;/code>&lt;/pre>
&lt;p> &lt;/p></description></item></channel></rss>