<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tables &#8211; SQLpowered.com</title>
	<atom:link href="https://sqlpowered.com/script-category/tables/feed/" rel="self" type="application/rss+xml" />
	<link>https://sqlpowered.com</link>
	<description>SQL Server + BI</description>
	<lastBuildDate>Sun, 03 Aug 2025 19:07:55 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://sqlpowered.com/wp-content/uploads/2020/07/FavIcon-e1594067873682-99x100.png</url>
	<title>Tables &#8211; SQLpowered.com</title>
	<link>https://sqlpowered.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Truncate all tables in database</title>
		<link>https://sqlpowered.com/script/truncate-all-tables-in-database/</link>
		
		<dc:creator><![CDATA[Jan Dvořák]]></dc:creator>
		<pubDate>Wed, 22 Jun 2022 13:32:08 +0000</pubDate>
				<guid isPermaLink="false">https://sqlpowered.com/?post_type=script&#038;p=5490</guid>

					<description><![CDATA[Generated SQL commands to truncate all tables in the context database. Copy the SQL column and execute it. Remember, that TRUNCATE isn&#8217;t allowed for table referenced via a foreign key. SELECT [s].[name] [SchemaName], [t].[name] [TableName], 'TRUNCATE TABLE [' + [s].[name] + '].[' + [t].[name] + '];' [Sql] FROM [sys].[tables] [t]...]]></description>
										<content:encoded><![CDATA[<p>Generated SQL commands to truncate all tables in the context database. Copy the SQL column and execute it. Remember, that TRUNCATE isn&#8217;t allowed for table referenced via a foreign key.</p>
<pre class="EnlighterJSRAW" data-enlighter-language="sql">SELECT  
	[s].[name] [SchemaName], [t].[name] [TableName], 
	'TRUNCATE TABLE [' + [s].[name] + '].[' + [t].[name] + '];' [Sql]
FROM [sys].[tables] [t]
	INNER JOIN [sys].[schemas] [s] ON [s].[schema_id] = [t].[schema_id]
ORDER BY [Sql]
GO</pre>
<p>&nbsp;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Drop all tables in schema (WHILE mode)</title>
		<link>https://sqlpowered.com/script/drop-all-tables-in-schema-while-mode/</link>
		
		<dc:creator><![CDATA[Jan Dvořák]]></dc:creator>
		<pubDate>Fri, 02 Apr 2021 08:34:50 +0000</pubDate>
				<guid isPermaLink="false">https://sqlpowered.com/?post_type=script&#038;p=5032</guid>

					<description><![CDATA[A simple script to drop all tables from the selected schema. You can adjust the metadata query simply and delete tables based on your own filter. Implement the CATCH block bases on your needs. SET NOCOUNT ON DECLARE @TableName NVARCHAR(300) DECLARE @Stmt NVARCHAR(MAX) DECLARE @TablesToBeDeleted TABLE ( TableName NVARCHAR(300) NOT...]]></description>
										<content:encoded><![CDATA[<p>A simple script to drop all tables from the selected schema. You can adjust the metadata query simply and delete tables based on your own filter. Implement the CATCH block bases on your needs.</p>
<pre class="EnlighterJSRAW" data-enlighter-language="sql">SET NOCOUNT ON

DECLARE @TableName NVARCHAR(300)
DECLARE @Stmt NVARCHAR(MAX)
DECLARE @TablesToBeDeleted TABLE (
	TableName NVARCHAR(300) NOT NULL PRIMARY KEY
)

INSERT INTO @TablesToBeDeleted
	SELECT 
		'[' + s.[name] + '].[' + t.name + ']'
	FROM sys.tables t
		INNER JOIN sys.schemas s ON t.schema_id = s.schema_id
	WHERE s.name = 'stg'

WHILE EXISTS (SELECT * FROM @TablesToBeDeleted)
BEGIN
	
	SELECT 
		@TableName = TableName
	FROM @TablesToBeDeleted
	ORDER BY TableName

	PRINT @TableName

	SET @Stmt = 'DROP TABLE ' + @TableName

	BEGIN TRY

		EXECUTE sys.sp_executesql @Stmt, N''

	END TRY
	BEGIN CATCH

		;THROW

	END CATCH

	DELETE FROM @TablesToBeDeleted WHERE TableName = @TableName

END</pre>
<p>&nbsp;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Backup single table with timestamp</title>
		<link>https://sqlpowered.com/script/backup-single-table-with-timestamp/</link>
		
		<dc:creator><![CDATA[Jan Dvořák]]></dc:creator>
		<pubDate>Mon, 20 Aug 2018 13:26:52 +0000</pubDate>
				<guid isPermaLink="false">https://sqlpowered.com/?post_type=script&#038;p=2732</guid>

					<description><![CDATA[A simple script to create a backup of a given table in this format: SELECT * INTO [dbo].[SampleTable_20220803103001] FROM [dbo].[SampleTable]; DECLARE @TimeStamp NVARCHAR(MAX) DECLARE @Stmt NVARCHAR(MAX) DECLARE @SchemaName NVARCHAR(128) DECLARE @TableName NVARCHAR(128) SET @SchemaName = 'dbo' SET @TableName = 'SampleTable' SET @TimeStamp = FORMAT(GETDATE(), 'yyyyMMddHHmmss') SET @Stmt = N'SELECT *...]]></description>
										<content:encoded><![CDATA[<p>A simple script to create a backup of a given table in this format:</p>
<pre class="lang:tsql decode:true ">SELECT * INTO [dbo].[SampleTable_20220803103001] FROM [dbo].[SampleTable];</pre>
<pre class="lang:tsql decode:true ">DECLARE @TimeStamp NVARCHAR(MAX)
DECLARE @Stmt NVARCHAR(MAX)
DECLARE @SchemaName NVARCHAR(128)
DECLARE @TableName NVARCHAR(128)

SET @SchemaName = 'dbo'
SET @TableName = 'SampleTable'

SET @TimeStamp = FORMAT(GETDATE(), 'yyyyMMddHHmmss')

SET @Stmt = N'SELECT * INTO [' + @SchemaName + '].[' + @TableName + '_' + @TimeStamp + '] FROM [' + @SchemaName + '].[' + @TableName + '];'
 
PRINT @Stmt
EXECUTE(@Stmt)
GO</pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Drop all tables in database</title>
		<link>https://sqlpowered.com/script/drop-all-tables-in-database-2/</link>
		
		<dc:creator><![CDATA[Jan Dvořák]]></dc:creator>
		<pubDate>Mon, 13 Aug 2018 20:07:43 +0000</pubDate>
				<guid isPermaLink="false">https://sqlpowered.com/?post_type=script&#038;p=2720</guid>

					<description><![CDATA[DECLARE @Stmt NVARCHAR(MAX) SET @Stmt = '' SELECT @Stmt = @Stmt + 'DROP TABLE [' + s.name + '].[' + v.name + '];' FROM sys.tables v INNER JOIN sys.schemas s ON s.schema_id = v.schema_id EXECUTE (@Stmt) GO SELECT * FROM sys.tables GO]]></description>
										<content:encoded><![CDATA[<pre class="lang:tsql decode:true  ">DECLARE @Stmt NVARCHAR(MAX)

SET @Stmt = ''

SELECT  @Stmt = @Stmt + 'DROP TABLE [' + s.name + '].[' + v.name + '];' 
FROM sys.tables v
	INNER JOIN sys.schemas s ON s.schema_id = v.schema_id

EXECUTE (@Stmt)
GO

SELECT * FROM sys.tables
GO</pre>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Reset IDENTITY_INSERT to OFF for all tables</title>
		<link>https://sqlpowered.com/script/reset-identity_insert-to-off-for-all-tables/</link>
		
		<dc:creator><![CDATA[Jan Dvořák]]></dc:creator>
		<pubDate>Fri, 09 Mar 2018 14:19:04 +0000</pubDate>
				<guid isPermaLink="false">https://sqlpowered.com/?post_type=script&#038;p=2397</guid>

					<description><![CDATA[DECLARE @Stmt NVARCHAR(MAX) SET @Stmt = CAST( (SELECT 'SET IDENTITY_INSERT ' + QUOTENAME(OBJECT_SCHEMA_NAME([t].[object_id])) + '.' + QUOTENAME([t].[name]) + ' OFF' + CHAR(10) FROM [sys].[columns] [c] JOIN [sys].[tables] [t] ON [t].[object_id] = [c].[object_id] WHERE [c].[is_identity] = 1 ORDER BY 1 FOR XML PATH('')) AS NVARCHAR(MAX) ) PRINT @Stmt GO]]></description>
										<content:encoded><![CDATA[<pre class="lang:tsql decode:true  ">DECLARE @Stmt NVARCHAR(MAX)

SET @Stmt = CAST(
				(SELECT
					'SET IDENTITY_INSERT ' + 
					QUOTENAME(OBJECT_SCHEMA_NAME([t].[object_id])) + '.' + 
					QUOTENAME([t].[name]) + ' OFF' + CHAR(10)
             FROM [sys].[columns] [c] 
				JOIN [sys].[tables] [t] ON [t].[object_id] = [c].[object_id]
             WHERE [c].[is_identity] = 1 
             ORDER BY 1 FOR XML PATH('')) AS NVARCHAR(MAX)
			)

PRINT @Stmt
GO</pre>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>List all Tables with IDENTITY column exists information</title>
		<link>https://sqlpowered.com/script/list-all-tables-with-identity-column-exists-information/</link>
		
		<dc:creator><![CDATA[Jan Dvořák]]></dc:creator>
		<pubDate>Fri, 09 Mar 2018 13:22:29 +0000</pubDate>
				<guid isPermaLink="false">https://sqlpowered.com/?post_type=script&#038;p=2381</guid>

					<description><![CDATA[SELECT sch.[name] SchemaName, t.name TableName, OBJECTPROPERTY(t.[object_id], 'TableHasIdentity') TableHasIdentity FROM sys.[tables] t INNER JOIN [sys].[schemas] sch ON [sch].[schema_id] = [t].[schema_id] ORDER BY sch.name, t.name &#160;]]></description>
										<content:encoded><![CDATA[<pre class="lang:tsql decode:true  ">SELECT
 sch.[name] SchemaName,
 t.name TableName, 
 OBJECTPROPERTY(t.[object_id], 'TableHasIdentity') TableHasIdentity
FROM sys.[tables] t
 INNER JOIN [sys].[schemas] sch ON [sch].[schema_id] = [t].[schema_id]
ORDER BY sch.name, t.name</pre>
<p>&nbsp;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Reset IDENTITY_INSERT setting for session in case it is ON for unknown table</title>
		<link>https://sqlpowered.com/script/reset-identity_insert-setting-for-session-in-case-it-is-on-for-unknown-table/</link>
		
		<dc:creator><![CDATA[Jan Dvořák]]></dc:creator>
		<pubDate>Fri, 09 Mar 2018 13:21:32 +0000</pubDate>
				<guid isPermaLink="false">https://sqlpowered.com/?post_type=script&#038;p=2379</guid>

					<description><![CDATA[DECLARE @Cmd NVARCHAR(MAX) SET @Cmd = CAST(( SELECT 'SET IDENTITY_INSERT ' + QUOTENAME(OBJECT_SCHEMA_NAME([t].[object_id])) + '.' + QUOTENAME([t].[name]) + ' OFF;' + CHAR(10) FROM [sys].[columns] [c] INNER JOIN [sys].[tables] [t] ON [t].[object_id] = [c].[object_id] WHERE [c].[is_identity] = 1 ORDER BY 1 FOR XML PATH('') ) AS NVARCHAR(MAX)); PRINT @Cmd EXEC [sys].[sp_executesql]...]]></description>
										<content:encoded><![CDATA[<pre class="lang:tsql decode:true  ">DECLARE	@Cmd NVARCHAR(MAX)

SET @Cmd = CAST(( SELECT
					'SET IDENTITY_INSERT ' + 
						QUOTENAME(OBJECT_SCHEMA_NAME([t].[object_id])) + '.' + QUOTENAME([t].[name]) + 
					' OFF;' + CHAR(10)
				  FROM
					[sys].[columns] [c]
					INNER JOIN [sys].[tables] [t] ON [t].[object_id] = [c].[object_id]
				  WHERE
					[c].[is_identity] = 1
				  ORDER BY 1
				 FOR XML PATH('')
				) AS NVARCHAR(MAX));
PRINT @Cmd

EXEC [sys].[sp_executesql] @Cmd
GO</pre>
<p>&nbsp;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>List of Tables with Number of Rows Including Data and Indexes Size</title>
		<link>https://sqlpowered.com/script/list-of-tables-with-number-of-rows-including-data-and-indexes-size/</link>
		
		<dc:creator><![CDATA[Jan Dvořák]]></dc:creator>
		<pubDate>Fri, 09 Mar 2018 11:59:03 +0000</pubDate>
				<guid isPermaLink="false">https://sqlpowered.com/?post_type=script&#038;p=2376</guid>

					<description><![CDATA[SELECT [a3].[name] AS [schemaname], [a2].[name] AS [tablename], [a1].[rows] AS [row_count], ( [a1].[reserved] + ISNULL([a4].[reserved], 0) ) * 8 AS [reserved], [a1].[data] * 8 AS [data], ( CASE WHEN ( [a1].[used] + ISNULL([a4].[used], 0) ) &#62; [a1].[data] THEN ( [a1].[used] + ISNULL([a4].[used], 0) ) - [a1].[data] ELSE 0 END ) *...]]></description>
										<content:encoded><![CDATA[<pre class="EnlighterJSRAW" data-enlighter-language="sql">SELECT
        [a3].[name] AS [schemaname],
        [a2].[name] AS [tablename],
        [a1].[rows] AS [row_count],
        ( [a1].[reserved] + ISNULL([a4].[reserved], 0) ) * 8 AS [reserved],
        [a1].[data] * 8 AS [data],
        ( CASE WHEN ( [a1].[used] + ISNULL([a4].[used], 0) ) &gt; [a1].[data] THEN ( [a1].[used] + ISNULL([a4].[used], 0) ) - [a1].[data] ELSE 0 END ) * 8 AS [index_size],
        ( CASE WHEN ( [a1].[reserved] + ISNULL([a4].[reserved], 0) ) &gt; [a1].[used] THEN ( [a1].[reserved] + ISNULL([a4].[reserved], 0) ) - [a1].[used] ELSE 0 END ) * 8 AS [unused]
FROM    ( SELECT    [ps].[object_id],
                    SUM(CASE WHEN ( [ps].[index_id] &lt; 2 ) THEN [ps].[row_count] ELSE 0 END) AS [rows],
                    SUM([ps].[reserved_page_count]) AS [reserved],
                    SUM(CASE WHEN ( [ps].[index_id] &lt; 2 ) THEN ( [ps].[in_row_data_page_count] + [ps].[lob_used_page_count] + [ps].[row_overflow_used_page_count] )
                             ELSE ( [ps].[lob_used_page_count] + [ps].[row_overflow_used_page_count] ) END) AS [data],
                    SUM([ps].[used_page_count]) AS [used]
          FROM      [sys].[dm_db_partition_stats] [ps]
          GROUP BY  [ps].[object_id]
        ) AS [a1]
        LEFT OUTER JOIN ( SELECT    [it].[parent_id],SUM([ps].[reserved_page_count]) AS [reserved],SUM([ps].[used_page_count]) AS [used]
                          FROM      [sys].[dm_db_partition_stats] [ps]
			                            INNER JOIN [sys].[internal_tables] [it] ON ( [it].[object_id] = [ps].[object_id] )
                          WHERE     [it].[internal_type] IN ( 202, 204 )
                          GROUP BY  [it].[parent_id]
                        ) AS [a4] ON ( [a4].[parent_id] = [a1].[object_id] )
        INNER JOIN [sys].[all_objects] [a2] ON ( [a1].[object_id] = [a2].[object_id] )
        INNER JOIN [sys].[schemas] [a3] ON ( [a2].[schema_id] = [a3].[schema_id] )
WHERE   [a2].[type] &lt;&gt; N'S' AND [a2].[type] &lt;&gt; N'IT'
ORDER BY [row_count] DESC
</pre>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
