Initial commit
This commit is contained in:
30
Volian Internal/BackupMultipleDatabases.sql
Normal file
30
Volian Internal/BackupMultipleDatabases.sql
Normal file
@@ -0,0 +1,30 @@
|
||||
DECLARE @name VARCHAR(50) -- Database name
|
||||
DECLARE @path VARCHAR(256) -- Path for backup files
|
||||
DECLARE @fileName VARCHAR(256) -- Filename for backup
|
||||
DECLARE @fileDate VARCHAR(20) -- Used for file name
|
||||
|
||||
-- Specify database backup directory
|
||||
SET @path = 'D:\MyBackupFolder\'
|
||||
exec master.dbo.xp_create_subdir @path
|
||||
|
||||
-- Specify the filename format
|
||||
SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112)
|
||||
|
||||
DECLARE db_cursor CURSOR FOR
|
||||
SELECT name
|
||||
FROM master.dbo.sysdatabases
|
||||
WHERE name IN ('MyDatabase1','MyDatabase2','MyDatabase3', 'MyDatabase4') -- Add the names of all database you want to backup
|
||||
|
||||
OPEN db_cursor
|
||||
FETCH NEXT FROM db_cursor INTO @name
|
||||
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
SET @fileName = @path + @name + '_' + @fileDate + '.BAK'
|
||||
BACKUP DATABASE @name TO DISK = @fileName
|
||||
|
||||
FETCH NEXT FROM db_cursor INTO @name
|
||||
END
|
||||
|
||||
CLOSE db_cursor
|
||||
DEALLOCATE db_cursor
|
30
Volian Internal/CalculateTableSize.sql
Normal file
30
Volian Internal/CalculateTableSize.sql
Normal file
@@ -0,0 +1,30 @@
|
||||
SELECT
|
||||
t.name AS TableName,
|
||||
--s.name AS SchemaName,
|
||||
p.rows As TotalRows,
|
||||
--SUM(a.total_pages) * 8 AS TotalSpaceKB,
|
||||
--CAST(ROUND(((SUM(a.total_pages) * 8) / 1024.00), 2) AS NUMERIC(36, 2)) AS TotalSpaceMB,
|
||||
CAST(ROUND((((SUM(a.total_pages) * 8) / 1024.00) / 1024.0), 3) AS NUMERIC(36, 2)) AS TotalSpaceGB
|
||||
--SUM(a.used_pages) * 8 AS UsedSpaceKB,
|
||||
--CAST(ROUND(((SUM(a.used_pages) * 8) / 1024.00), 2) AS NUMERIC(36, 2)) AS UsedSpaceMB,
|
||||
--CAST(ROUND((((SUM(a.used_pages) * 8) / 1024.00) / 1024.0), 3) AS NUMERIC(36, 2)) AS UsedSpaceGB,
|
||||
--(SUM(a.total_pages) - SUM(a.used_pages)) * 8 AS UnusedSpaceKB,
|
||||
--CAST(ROUND(((SUM(a.total_pages) - SUM(a.used_pages)) * 8) / 1024.00, 2) AS NUMERIC(36, 2)) AS UnusedSpaceMB
|
||||
FROM
|
||||
sys.tables t
|
||||
INNER JOIN
|
||||
sys.indexes i ON t.object_id = i.object_id
|
||||
INNER JOIN
|
||||
sys.partitions p ON i.object_id = p.object_id AND i.index_id = p.index_id
|
||||
INNER JOIN
|
||||
sys.allocation_units a ON p.partition_id = a.container_id
|
||||
LEFT OUTER JOIN
|
||||
sys.schemas s ON t.schema_id = s.schema_id
|
||||
WHERE
|
||||
t.name NOT LIKE 'dt%'
|
||||
AND t.is_ms_shipped = 0
|
||||
AND i.object_id > 255
|
||||
GROUP BY
|
||||
t.name, s.name, p.rows
|
||||
ORDER BY
|
||||
TotalSpaceGB DESC, t.name
|
20
Volian Internal/CommonCommands.sql
Normal file
20
Volian Internal/CommonCommands.sql
Normal file
@@ -0,0 +1,20 @@
|
||||
--Select all rows/columns from a TABLE
|
||||
SELECT * FROM myTable
|
||||
|
||||
--Select top 10 rows from a TABLE
|
||||
SELECT TOP(10) * FROM myTable
|
||||
|
||||
--Select specific columns from a TABLE
|
||||
SELECT Id, FirstName, LastName FROM myTable
|
||||
|
||||
--Select all rows matching the last name Smith
|
||||
SELECT * FROM myTable WHERE LastName = 'Smith'
|
||||
|
||||
--Select all rows in ascending/descending ORDER
|
||||
SELECT * FROM myTable ORDER BY CreateDate --ascending
|
||||
SELECT * FROM myTable ORDER BY CreateDate DESC --descending
|
||||
|
||||
--Select matching records from 2 tables
|
||||
SELECT * FROM table1 t1
|
||||
JOIN table2 t2 ON t1.Id = t2.Id
|
||||
|
21
Volian Internal/Cursor.sql
Normal file
21
Volian Internal/Cursor.sql
Normal file
@@ -0,0 +1,21 @@
|
||||
--Declare any variables needed for the cursor query
|
||||
DECLARE @id uniqueidentifier
|
||||
DECLARE @name varchar(max)
|
||||
|
||||
DECLARE db_cursor CURSOR FOR
|
||||
|
||||
--SELECT Id, Name FROM Table WHERE Field = value
|
||||
|
||||
OPEN db_cursor
|
||||
FETCH NEXT FROM db_cursor INTO @id
|
||||
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
|
||||
--Select/update/delete statements go here
|
||||
|
||||
FETCH NEXT FROM db_cursor INTO @id
|
||||
END
|
||||
|
||||
CLOSE db_cursor
|
||||
DEALLOCATE db_cursor
|
39
Volian Internal/DetermineForeignKeys.sql
Normal file
39
Volian Internal/DetermineForeignKeys.sql
Normal file
@@ -0,0 +1,39 @@
|
||||
SELECT PKTABLE_QUALIFIER = CONVERT(SYSNAME,DB_NAME()),
|
||||
PKTABLE_OWNER = CONVERT(SYSNAME,SCHEMA_NAME(O1.SCHEMA_ID)),
|
||||
PKTABLE_NAME = CONVERT(SYSNAME,O1.NAME),
|
||||
PKCOLUMN_NAME = CONVERT(SYSNAME,C1.NAME),
|
||||
FKTABLE_QUALIFIER = CONVERT(SYSNAME,DB_NAME()),
|
||||
FKTABLE_OWNER = CONVERT(SYSNAME,SCHEMA_NAME(O2.SCHEMA_ID)),
|
||||
FKTABLE_NAME = CONVERT(SYSNAME,O2.NAME),
|
||||
FKCOLUMN_NAME = CONVERT(SYSNAME,C2.NAME),
|
||||
-- Force the column to be non-nullable (see SQL BU 325751)
|
||||
--KEY_SEQ = isnull(convert(smallint,k.constraint_column_id), sysconv(smallint,0)),
|
||||
UPDATE_RULE = CONVERT(SMALLINT,CASE OBJECTPROPERTY(F.OBJECT_ID,'CnstIsUpdateCascade')
|
||||
WHEN 1 THEN 0
|
||||
ELSE 1
|
||||
END),
|
||||
DELETE_RULE = CONVERT(SMALLINT,CASE OBJECTPROPERTY(F.OBJECT_ID,'CnstIsDeleteCascade')
|
||||
WHEN 1 THEN 0
|
||||
ELSE 1
|
||||
END),
|
||||
FK_NAME = CONVERT(SYSNAME,OBJECT_NAME(F.OBJECT_ID)),
|
||||
PK_NAME = CONVERT(SYSNAME,I.NAME),
|
||||
DEFERRABILITY = CONVERT(SMALLINT,7) -- SQL_NOT_DEFERRABLE
|
||||
FROM SYS.ALL_OBJECTS O1,
|
||||
SYS.ALL_OBJECTS O2,
|
||||
SYS.ALL_COLUMNS C1,
|
||||
SYS.ALL_COLUMNS C2,
|
||||
SYS.FOREIGN_KEYS F
|
||||
INNER JOIN SYS.FOREIGN_KEY_COLUMNS K
|
||||
ON (K.CONSTRAINT_OBJECT_ID = F.OBJECT_ID)
|
||||
INNER JOIN SYS.INDEXES I
|
||||
ON (F.REFERENCED_OBJECT_ID = I.OBJECT_ID
|
||||
AND F.KEY_INDEX_ID = I.INDEX_ID)
|
||||
WHERE O1.OBJECT_ID = F.REFERENCED_OBJECT_ID
|
||||
AND O2.OBJECT_ID = F.PARENT_OBJECT_ID
|
||||
AND C1.OBJECT_ID = F.REFERENCED_OBJECT_ID
|
||||
AND C2.OBJECT_ID = F.PARENT_OBJECT_ID
|
||||
AND C1.COLUMN_ID = K.REFERENCED_COLUMN_ID
|
||||
AND C2.COLUMN_ID = K.PARENT_COLUMN_ID
|
||||
|
||||
ORDER BY FKTABLE_NAME, PKTABLE_NAME
|
3
Volian Internal/GetColumnsByType.sql
Normal file
3
Volian Internal/GetColumnsByType.sql
Normal file
@@ -0,0 +1,3 @@
|
||||
SELECT table_name [Table Name], column_name [Column Name], DATA_TYPE
|
||||
FROM information_schema.columns WHERE DATA_TYPE = 'varbinary'
|
||||
ORDER BY [Table Name]
|
16
Volian Internal/GetRecordSize.sql
Normal file
16
Volian Internal/GetRecordSize.sql
Normal file
@@ -0,0 +1,16 @@
|
||||
|
||||
SELECT *
|
||||
FROM (SELECT * FROM myTable) AS T1
|
||||
JOIN (select myDataColumn, CAST(kilobytes / 1024.0 as numeric(36,2)) as Megabytes
|
||||
from (
|
||||
select *, bytes / 1024.0 as kilobytes
|
||||
from (
|
||||
select *, datalength(PDF) as bytes
|
||||
from myTable
|
||||
) a
|
||||
) b
|
||||
) AS T2
|
||||
ON T1.ID = T2.VersionID
|
||||
ORDER BY Megabytes desc
|
||||
|
||||
|
23
Volian Internal/PrintTableColumnDefinitions.sql
Normal file
23
Volian Internal/PrintTableColumnDefinitions.sql
Normal file
@@ -0,0 +1,23 @@
|
||||
USE [MY_DATABASE_NAME]
|
||||
|
||||
SELECT
|
||||
sh.name+'.'+o.name AS ObjectName,
|
||||
s.name as ColumnName
|
||||
,CASE
|
||||
WHEN t.name IN ('char','varchar') THEN t.name+'('+CASE WHEN s.max_length<0 then 'MAX' ELSE CONVERT(varchar(10),s.max_length) END+')'
|
||||
WHEN t.name IN ('nvarchar','nchar') THEN t.name+'('+CASE WHEN s.max_length<0 then 'MAX' ELSE CONVERT(varchar(10),s.max_length/2) END+')'
|
||||
WHEN t.name IN ('numeric') THEN t.name+'('+CONVERT(varchar(10),s.precision)+','+CONVERT(varchar(10),s.scale)+')'
|
||||
ELSE t.name
|
||||
END AS DataType
|
||||
,CASE
|
||||
WHEN s.is_nullable=1 THEN 'NULL'
|
||||
ELSE 'NOT NULL'
|
||||
END AS Nullable
|
||||
|
||||
FROM sys.columns s
|
||||
INNER JOIN sys.types t ON s.system_type_id=t.user_type_id and t.is_user_defined=0
|
||||
INNER JOIN sys.objects o ON s.object_id=o.object_id
|
||||
INNER JOIN sys.schemas sh on o.schema_id=sh.schema_id
|
||||
WHERE O.name IN
|
||||
(select table_name from information_schema.tables)
|
||||
ORDER BY sh.name+'.'+o.name,s.column_id
|
67
Volian Internal/SearchAllTables.sql
Normal file
67
Volian Internal/SearchAllTables.sql
Normal file
@@ -0,0 +1,67 @@
|
||||
DECLARE @SearchStr nvarchar(100)
|
||||
SET @SearchStr = '## YOUR STRING HERE ##'
|
||||
|
||||
|
||||
-- Copyright © 2002 Narayana Vyas Kondreddi. All rights reserved.
|
||||
-- Purpose: To search all columns of all tables for a given search string
|
||||
-- Written by: Narayana Vyas Kondreddi
|
||||
-- Site: http://vyaskn.tripod.com
|
||||
-- Updated and tested by Tim Gaunt
|
||||
-- http://www.thesitedoctor.co.uk
|
||||
-- http://blogs.thesitedoctor.co.uk/tim/2010/02/19/Search+Every+Table+And+Field+In+A+SQL+Server+Database+Updated.aspx
|
||||
-- Tested on: SQL Server 7.0, SQL Server 2000, SQL Server 2005 and SQL Server 2010
|
||||
-- Date modified: 03rd March 2011 19:00 GMT
|
||||
CREATE TABLE #Results (ColumnName nvarchar(370), ColumnValue nvarchar(3630))
|
||||
|
||||
SET NOCOUNT ON
|
||||
|
||||
DECLARE @TableName nvarchar(256), @ColumnName nvarchar(128), @SearchStr2 nvarchar(110)
|
||||
SET @TableName = ''
|
||||
SET @SearchStr2 = QUOTENAME('%' + @SearchStr + '%','''')
|
||||
|
||||
WHILE @TableName IS NOT NULL
|
||||
|
||||
BEGIN
|
||||
SET @ColumnName = ''
|
||||
SET @TableName =
|
||||
(
|
||||
SELECT MIN(QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME))
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE TABLE_TYPE = 'BASE TABLE'
|
||||
AND QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) > @TableName
|
||||
AND OBJECTPROPERTY(
|
||||
OBJECT_ID(
|
||||
QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME)
|
||||
), 'IsMSShipped'
|
||||
) = 0
|
||||
)
|
||||
|
||||
WHILE (@TableName IS NOT NULL) AND (@ColumnName IS NOT NULL)
|
||||
|
||||
BEGIN
|
||||
SET @ColumnName =
|
||||
(
|
||||
SELECT MIN(QUOTENAME(COLUMN_NAME))
|
||||
FROM INFORMATION_SCHEMA.COLUMNS
|
||||
WHERE TABLE_SCHEMA = PARSENAME(@TableName, 2)
|
||||
AND TABLE_NAME = PARSENAME(@TableName, 1)
|
||||
AND DATA_TYPE IN ('char', 'varchar', 'nchar', 'nvarchar', 'int', 'decimal')
|
||||
AND QUOTENAME(COLUMN_NAME) > @ColumnName
|
||||
)
|
||||
|
||||
IF @ColumnName IS NOT NULL
|
||||
|
||||
BEGIN
|
||||
INSERT INTO #Results
|
||||
EXEC
|
||||
(
|
||||
'SELECT ''' + @TableName + '.' + @ColumnName + ''', LEFT(' + @ColumnName + ', 3630) FROM ' + @TableName + ' (NOLOCK) ' +
|
||||
' WHERE ' + @ColumnName + ' LIKE ' + @SearchStr2
|
||||
)
|
||||
END
|
||||
END
|
||||
END
|
||||
|
||||
SELECT ColumnName, ColumnValue FROM #Results
|
||||
|
||||
DROP TABLE #Results
|
21
Volian Internal/ShrinkLogFiles.sql
Normal file
21
Volian Internal/ShrinkLogFiles.sql
Normal file
@@ -0,0 +1,21 @@
|
||||
DECLARE @logName as nvarchar(50)
|
||||
DECLARE @databaseID as int
|
||||
DECLARE db_cursor CURSOR FOR
|
||||
SELECT TOP 10 name,database_id -- only 10 but you can choose any number
|
||||
FROM sys.master_Files WHERE physical_name like '%.ldf'
|
||||
--and physical_name not like 'C:\%' -- specify your database paths
|
||||
and name not in ('mastlog','MSDBLog','templog','modellog','_LogFiles_log','MSDBLog') -- any database logs that you would like to exclude
|
||||
ORDER BY size DESC
|
||||
OPEN db_cursor
|
||||
FETCH NEXT FROM db_cursor INTO @logName , @databaseID
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
DECLARE @databaseName as nvarchar(50)
|
||||
SET @databaseName = DB_NAME(@databaseID)
|
||||
DECLARE @tsql nvarchar(300)
|
||||
SET @tsql='USE ['+@databaseName+'] ALTER DATABASE ['+@databaseName+'] set recovery simple DBCC SHRINKFILE ('+@logName+' , 1)'
|
||||
EXEC(@tsql)
|
||||
FETCH NEXT FROM db_cursor INTO @logName , @databaseID
|
||||
END
|
||||
CLOSE db_cursor
|
||||
DEALLOCATE db_cursor
|
Reference in New Issue
Block a user