Iterate over all tables in a DB and count its rows
declare @name varchar(100)
declare @sql nvarchar(300)
declare cur cursor for
select name from sys.tables where type = 'U' and schema_id = 1
open cur
fetch next from cur into @name
while @@FETCH_STATUS = 0
begin
set @sql = 'select count(*) as ' + @name + ' from ' + @name
exec Sp_executesql @sql
fetch next from cur into @name
end
close cur
deallocate cur
Identity insert
SET IDENTITY_INSERT tblFoo ON
INSERT INTO tblFoo (id, col2, col3, ...)
VALUES (idValue, ...)
SET IDENTITY_INSERT tblFoo OFF
Create login and user
-- switch to master database
create login unclesam with password='foobar!';
-- switch to target database
create user unclesam from login unclesam;
-- give db_owner role
EXEC sp_addrolemember 'db_owner', 'unclesam';
-- remember to login with unclesam@sql-server
-- and select target database on login
List open transactions
-- For all databases
SELECT * FROM sys.sysprocesses WHERE open_tran = 1
-- For the current database
DBCC OPENTRAN
Get list of supported collations
select name, description
from sys.fn_helpcollations()
where name like ...;
Copy from one table to another
INSERT INTO newTable
SELECT * FROM oldTable
-- Or if only specific colums should be copied
INSERT INTO newTable (col1, col2, col3)
SELECT column1, column2, column3
FROM oldTable
Move table to another schema
ALTER SCHEMA <targetSchema> TRANSFER sourceSchema.Table
Rename column
EXEC sp_RENAME 'table_name.old_name', 'new_name', 'COLUMN'
Add primary key
alter table <table_name> add primary key (<column>);
Delete all tables in an Azure SQL database
/* Drop all Primary Key constraints */
DECLARE @name VARCHAR(128)
DECLARE @constraint VARCHAR(254)
DECLARE @SQL VARCHAR(254)
SELECT @name = (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' ORDER BY TABLE_NAME)
WHILE @name IS NOT NULL
BEGIN
SELECT @constraint = (SELECT TOP 1 CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' AND TABLE_NAME = @name ORDER BY CONSTRAINT_NAME)
WHILE @constraint is not null
BEGIN
SELECT @SQL = 'ALTER TABLE [dbo].[' + RTRIM(@name) +'] DROP CONSTRAINT [' + RTRIM(@constraint)+']'
EXEC (@SQL)
PRINT 'Dropped PK Constraint: ' + @constraint + ' on ' + @name
SELECT @constraint = (SELECT TOP 1 CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' AND CONSTRAINT_NAME <> @constraint AND TABLE_NAME = @name ORDER BY CONSTRAINT_NAME)
END
SELECT @name = (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' ORDER BY TABLE_NAME)
END
GO
/* Drop all tables */
DECLARE @name VARCHAR(128)
DECLARE @SQL VARCHAR(254)
SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'U' AND category = 0 ORDER BY [name])
WHILE @name IS NOT NULL
BEGIN
SELECT @SQL = 'DROP TABLE [dbo].[' + RTRIM(@name) +']'
EXEC (@SQL)
PRINT 'Dropped Table: ' + @name
SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'U' AND category = 0 AND [name] > @name ORDER BY [name])
END
GO