DECLARE @Database VARCHAR(255);
DECLARE @Table VARCHAR(255);
DECLARE @cmd NVARCHAR(500);
DECLARE @fillfactor INT;
SET @fillfactor = 80;
DECLARE DatabaseCursor CURSOR FOR
SELECT name
FROM sys.databases WITH ( NOLOCK )
WHERE name NOT IN ( 'master', 'msdb', 'tempdb', 'model', 'distribution' )
AND state_desc = 'ONLINE'
ORDER BY 1;
OPEN DatabaseCursor;
FETCH NEXT FROM DatabaseCursor
INTO @Database;
WHILE @@FETCH_STATUS = 0
BEGIN
SET @cmd = 'DECLARE TableCursor CURSOR FOR SELECT ''['' + table_catalog + ''].[''
+ table_schema + ''].[''
+ table_name + '']'' as tableName FROM [' + @Database
+ '].INFORMATION_SCHEMA.TABLES
WHERE table_type = ''BASE TABLE''';
-- create table cursor
EXEC ( @cmd );
OPEN TableCursor;
FETCH NEXT FROM TableCursor
INTO @Table;
WHILE @@FETCH_STATUS = 0
BEGIN
IF ( @@MICROSOFTVERSION / POWER(2, 24) >= 9 )
BEGIN
-- SQL 2005 or higher command
SET @cmd = 'ALTER INDEX ALL ON ' + @Table
+ ' REBUILD WITH (FILLFACTOR = '
+ CONVERT(VARCHAR(3), @fillfactor) + ')';
EXEC ( @cmd );
END;
ELSE
BEGIN
-- SQL 2000 command
DBCC DBREINDEX(@Table, ' ', @fillfactor);
END;
FETCH NEXT FROM TableCursor
INTO @Table;
END;
CLOSE TableCursor;
DEALLOCATE TableCursor;
FETCH NEXT FROM DatabaseCursor
INTO @Database;
END;
CLOSE DatabaseCursor;
DEALLOCATE DatabaseCursor;
Wednesday, July 26, 2017
Rebuild All Index of All Table of All Database - SQL Server
To Rebuild all Indexes of all Tables of all databases can be done using this code.
Thursday, June 25, 2015
C# byte [ ] Array Compress and Decompress with GZipStream
A small utility class for compressing and decompressing byte [ ] array in C#
using System.IO;
using System.IO.Compression;
public static class Compression
{
public static byte[] Compress(byte[] data)
{
using (var ms = new MemoryStream())
{
using (var gzip = new GZipStream(ms, CompressionLevel.Optimal))
{
gzip.Write(data, 0, data.Length);
}
data = ms.ToArray();
}
return data;
}
public static byte[] Decompress(byte[] data)
{
// the trick is to read the last 4 bytes to get the length
// gzip appends this to the array when compressing
var lengthBuffer = new byte[4];
Array.Copy(data, data.Length - 4, lengthBuffer, 0, 4);
int uncompressedSize = BitConverter.ToInt32(lengthBuffer, 0);
var buffer = new byte[uncompressedSize];
using (var ms = new MemoryStream(data))
{
using (var gzip = new GZipStream(ms, CompressionMode.Decompress))
{
gzip.Read(buffer, 0, uncompressedSize);
}
}
return buffer;
}
}
Monday, August 11, 2014
Fix User Permission in SQL Server
After the restore, it is needed to fix the previous user permissions in SQL Server Database.
EXEC sp_change_users_login 'Auto_Fix', 'webuser'Here webuser is the user name.
Enable Database Mail in SQL Server
Enable the db mail feature at server level:
Enable service broker in the MSDB database:
sp_configure 'Database Mail XPs', 1 reconfigure
Enable service broker in the MSDB database:
USE [master] GO ALTER DATABASE [MSDB] SET ENABLE_BROKER WITH NO_WAIT GO
Enable 'xp_cmdshell' SQL Server
-- To allow advanced options to be changed. EXEC sp_configure 'show advanced options', 1 GO -- To update the currently configured value for advanced options. RECONFIGURE GO -- To enable the feature. EXEC sp_configure 'xp_cmdshell', 1 GO -- To update the currently configured value for this feature. RECONFIGURE GO
Subscribe to:
Posts (Atom)