Saturday, July 20, 2024
Wednesday, September 6, 2023
Monday, September 12, 2022
Get RowCount from a Dynamically Executed Statement
-- Get RowCount from a Dynamically Executed Statement
DECLARE
@Period VARCHAR (8) = ''
, @DEDFYXXRecords BIGINT = 0
, @EXECFYXX NVARCHAR (MAX) = ''
, @RowCount BIGINT = 0;
SELECT @EXECFYXX = ' INSERT Data( '
+ ' Period '
+ ', CostCenter '
+ ') '
+ 'SELECT '
+ ' FYXX.Period '
+ ', FYXX.CostCenter '
+ 'FROM DataFY'
+ LEFT (@Period, 2)
+ ' FYXX '
+ ' JOIN DataB da '
+ ' ON FYXX.Account = da.Acct '
+ ' WHERE da.GroupID = 99 '
+ ' AND FYXX.Period = '''
+ @Period
+ '''; SELECT @RowCount = @@ROWCOUNT; ';
-- EXEC sp_executesql @EXECFYXX, N'@RowCount BIGINT OUTPUT', @RowCount OUTPUT
SELECT @DEDFYXXRecords = @RowCount
SELECT @DEDFYXXRecords
Tool for Scripting View Generation
-- Tool for Scripting View Generation
-- Given two databases, source and dest, this script will generate a READ
-- ONLY view in dest for each table or view in source.
-- http://joeskb.blogspot.com/2013/08/tool-for-scripting-view-generation.html
SSIS/SQLAgent - Enable User to See and Start Jobs
-- SSIS/SQLAgent - Enable User to See and Start Jobs
-- To see, the user must be in the SQLAgentReaderRole or SQLAgentUserRole,
-- to start them the user must be in the SQLAgentOperaterRole. As these
-- only exist in MSDB then the user must also be a member there.
Find tables with foreign keys
-- Find tables with foreign keys
-- Source: http://stackoverflow.com/questions/483193/how-can-i-list-all-foreign-keys-referencing-a-given-table-in-sql-server
SELECT
t.name TableWithForeignKey
, fk.constraint_column_id FK_PartNo
, c.name ForeignKeyColumn
FROM sys.foreign_key_columns fk
JOIN sys.tables t
ON fk.parent_object_id = t.[object_id]
JOIN sys.columns c
ON fk.parent_object_id = c.[object_id]
AND fk.parent_column_id = c.column_id
JOIN sys.tables t1
ON fk.referenced_object_id = t1.[object_id]
ORDER BY
TableWithForeignKey
, FK_PartNo
What are the sizes of my db's?
-- What are the sizes of my db's?
GO
WITH fs
AS (
SELECT
m.database_id
, m.[type]
, m.size * 8.0 / 1024 size
FROM sys.master_files m
)
SELECT
name
, (SELECT SUM (size) FROM fs WHERE [type] = 0 AND fs.database_id = db.database_id) DataFileSizeMB
, (SELECT SUM (size) FROM fs WHERE [type] = 1 AND fs.database_id = db.database_id) LogFileSizeMB
FROM sys.databases db
Delete old backups
-- Delete old backups -- EXECUTE master.dbo.xp_delete_file 0,N'\\Myapp4\SomeSQLBACKUP\MyCoSQL-TEST','N',N'2017-01-05T11:14:40',1
File tools
-- File tools
-- Find the BAK files:
SELECT TOP 100
m.physical_device_name
, b.backup_start_date
, b.backup_finish_date
, b.backup_size/1024.0 BackupSizeKB
FROM msdb.dbo.backupset b
JOIN msdb.dbo.backupmediafamily m
ON b.media_set_id = m.media_set_id
WHERE /* database_name like '%Mysmco%' */
m.physical_device_name LIKE '%bak%'
ORDER BY
b.backup_finish_date DESC
-- Find the MDF's and LDF's:
DECLARE @command varchar(1000)
SELECT @command = 'SELECT * FROM sys.database_files'
EXEC sp_MSforeachdb @command
-- Or ... easier
EXEC sp_MSforeachdb 'USE ? SELECT ''?'', SF.filename, SF.size FROM sys.sysfiles SF'
-- Or ... even easier
SELECT 'USE [' + name + ']; SELECT SF.filename, SF.size FROM sys.sysfiles SF'
FROM master.dbo.sysdatabases
Force the db offline
-- Force the db offline -- ALTER DATABASE [MyDB-DEV-NEW] SET OFFLINE -- Same but rollback pending transactions -- ALTER DATABASE [MyDB-DEV-NEW] SET OFFLINE WITH ROLLBACK IMMEDIATE
Set to multi user
-- Set to multi user -- ALTER DATABASE [MyDB-DEV-NEW] SET MULTI_USER; -- Same but rollback pending transactions -- ALTER DATABASE [MyDB-DEV-NEW] SET MULTI_USER WITH ROLLBACK IMMEDIATE;
Sunday, August 21, 2022
Rollback any transactions and set db to single user
-- Rollback any transactions and set db to single user mode
-- ALTER DATABASE [MyDB-DEV-NEW] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
The restore operation halted prematurely.
-- The restore operation halted prematurely.
-- Repeat the original RESTORE statement specifying WITH RESTART.
-- RESTORE DATABASE [MyDB-DEV] FROM DISK = 'C:\MyDB.bak' WITH RESTART
Restore a full database backup
-- Restore a full database backup
-- RESTORE DATABASE [MyDB-DEV] FROM DISK = 'C:\MyDB.bak'
Recover, NOT Restore, the db
-- Recover, NOT Restore, the db
-- https://msdn.microsoft.com/en-us/library/ms188696.aspx
-- RESTORE DATABASE [MyDB-DEV-NEW] WITH RECOVERY
Most recent Myweb_user
-- Most recent Myweb_user
SELECT TOP 33 wu.*
FROM dbo.Myweb_user wu
ORDER BY wu.MODDATE DESC
What is the status of the backups and restores?
-- What is the status of the backups and restores?
SELECT
r.session_id
, r.command
, CONVERT(NUMERIC(6,2), r.percent_complete) [Percent Complete]
, CONVERT(VARCHAR(20), DATEADD(ms,r.estimated_completion_time,GetDate()),20) [ETA Completion Time]
, CONVERT(NUMERIC(10,2),r.total_elapsed_time/1000.0/60.0) [Elapsed Min]
, CONVERT(NUMERIC(10,2),r.estimated_completion_time/1000.0/60.0) [ETA Min]
, CONVERT(NUMERIC(10,2),r.estimated_completion_time/1000.0/60.0/60.0) [ETA Hours]
, CONVERT(VARCHAR(1000)
, (SELECT SUBSTRING( text,r.statement_start_offset/2,
CASE
WHEN r.statement_end_offset = -1
THEN 1000
ELSE (r.statement_end_offset-r.statement_start_offset)/2
END)
FROM sys.dm_exec_sql_text(sql_handle)
)
)
FROM sys.dm_exec_requests r WHERE command IN ('RESTORE DATABASE','BACKUP DATABASE')
Kill the active database connections
-- Kill the active database connections
-- Note: Uncomment the 'exec'
DECLARE @execSql VARCHAR (1000) = ''
, @databaseName VARCHAR (100) = ''
, @dbid INT = 0
SET @execSql = ''
SET @databaseName = 'MyDB-DNN-TMAR'
SET @dbid = db_id(@databaseName)
IF (ISNULL (@dbid, '') = '') PRINT 'Bad DB Name'
SELECT @execSql = @execSql + 'kill ' + CONVERT (CHAR(10), sp.spid) + '; '
FROM master.dbo.sysprocesses sp
WHERE dbid = @dbid
AND sp.DBID <> 0
AND sp.spid <> @@spid
SELECT @execSql
-- EXEC (@execSql)
GO
-- kill 59
Renaming Databases
-- Renaming Databases
sp_who2
-- Optional but should be done for MyDB-DEV-NEW
EXEC Utility.dbo.BACKUP_APP_INTERFACE_PARAMETER_TBL_sp
GO
-- kill 88
SP_WHO2
-- Optional but should be done for MyDB-DEV-NEW
ALTER DATABASE [MyDB-TMAR] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
ALTER DATABASE [MyDB-TMAR-NEW] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
USE master;
GO
ALTER DATABASE [MyDB-TMAR]
Modify Name = [MyDB-TMAR_OLD];
GO
ALTER DATABASE [MyDB-TMAR-NEW]
Modify Name = [MyDB-TMAR];
GO
EXEC Utility.dbo.RESTORE_APP_INTERFACE_PARAMETER_TBL_sp 'MyDB-TMAR'
GO
-- ALTER DATABASE [MyDB-TMAR] SET MULTI_USER WITH ROLLBACK IMMEDIATE;
-- ALTER DATABASE [MyDB-TMAR_OLD] SET MULTI_USER WITH ROLLBACK IMMEDIATE;
--use utility
--go
--select * from sysobjects where type = 'p'
-- EXEC Utility.dbo.TMARDBRestore_RemoveTRSJobs 'MyJob'
EXEC Utility.dbo.TMARDBRestore_RemoveTRSJobs 'MyJob'
GO
USE [MyDB-TMAR]
GO
DROP FULLTEXT INDEX ON MyDB_product_search
GO
--DROP FULLTEXT CATALOG MyDB_product_search
--GO
ALTER DATABASE [MyDB-TMAR] SET MULTI_USER;
GO
ALTER DATABASE [MyDB-TMAR_OLD] SET MULTI_USER;
GO
USE [MyDB-TMAR]
GO
IF EXISTS (
SELECT *
FROM sys.database_principals
WHERE name = 'MyDB-'
)
DROP USER [MyDB-]
CREATE USER [MyDB-] FOR LOGIN [MyDB-]
-- ALTER ROLE [db_owner] ADD MEMBER [MyDB-]
EXEC sp_addrolemember N'db_owner', N'MyDB-'
-- NOTE: remember to add in user "Myweb" to prod1 and prod2
USE [MyDB-TMAR]
GO
IF EXISTS (
SELECT *
FROM sys.database_principals
WHERE name = 'Myweb'
)
DROP USER [Myweb]
CREATE USER [Myweb] FOR LOGIN [Myweb]
-- ALTER ROLE [db_owner] ADD MEMBER [MyDB-]
EXEC sp_addrolemember N'db_owner', N'Myweb'
GO
-- NOTE: remember to add in user "MyAdmin" to prod1 and prod2
USE [MyDB-TMAR]
GO
IF EXISTS (
SELECT *
FROM sys.database_principals
WHERE name = 'MyAdmin'
)
DROP USER [MyAdmin]
CREATE USER [MyAdmin] FOR LOGIN [MyAdmin]
-- ALTER ROLE [db_owner] ADD MEMBER [MyDB-]
EXEC sp_addrolemember N'db_owner', N'MyAdmin'
NO Payment Required!
Here are 10 FREE Microsoft courses to become skilled in 2023: ⤵️
[Bookmark for future reference 🔖]
1️⃣ Introduction to Power BI
• Import and transform data
• Create interactive visualizations
• Build dashboards and reports
🔗 https://lnkd.in/eUTx-SsE
2️⃣ Introduction to Azure Fundamentals
• Core Azure services and concepts
• Cloud security and privacy
• Azure pricing and support options
🔗 https://lnkd.in/eqrjxqpM
3️⃣ Introduction to Azure AI
• Computer vision services
• Natural language processing
• Azure Machine Learning options
🔗 https://lnkd.in/exKfhkzS
4️⃣ Introduction to Machine Learning
• Regression models
• Classification algorithms
• Clustering techniques
🔗 https://lnkd.in/eeCNUsnS
5️⃣ Introduction to Data Science with Python
• Data ingestion and wrangling
• Exploratory data analysis
• Data visualization and ML
🔗 https://lnkd.in/eEfkDvsV
6️⃣ Introduction to NoSQL databases using Azure Cosmos DB
• Overview of NoSQL databases
• Globally distributed database
• Multi-model data API
🔗 https://lnkd.in/eujbTuHC
7️⃣ Introduction to Azure Serverless Computing
• Azure Functions
• Logic Apps
• Event Grid
🔗 https://lnkd.in/ePhknqjU
8️⃣ Secure cloud solutions on Azure
• Identity and access controls
• Encryption methods
• Compliance tools
🔗 https://lnkd.in/eQysTP9a
9️⃣ Python for beginners
• Core programming concepts
• Hands-on projects
• Real-world applications
🔗 https://lnkd.in/epfNbFFU
🔟 Introduction to C#
• C# basics and syntax
• .NET framework
• Building applications
🔗 https://lnkd.in/efi5PpjQ
——————————————
If you like this post why not subscribe to the fastest growing newsletter about AI, Digital Transformation, Future Trends - from Leaders for Leaders
https://lnkd.in/erQ7xp-8
And if you want to Master ChatGPT and get the bestseller books, why not check this out:
https://lnkd.in/ewzEYZMU
——————————————
Follow #drstorm press “like” and the 🔔 on my profile and/or share with your network. #technology #digital #future #ChatGPT #GenerativeAI #AI