Skip to main content

Posts

Showing posts from March, 2020

How to export SQL agent jobs from your SQL Server instance

Hi everyone! As a database administrator, you always need a copy of your data and data processes for: migrating servers disaster recovery backup procedures/best practices This post covers a simple Powershell script. The script is to take a backup of all the SQL agent jobs on your SQL server instance. If you ever needed to recreate all the jobs on another server, all you would have to do is execute the SQL script. I. In SSMS (SQL Server Management Studio), create an empty .SQL file and save it with this naming convention: I.e. SqlAgentJobs_PROD01.sql } This file will represent all the SQL agent jobs on the primary production SQL server. II. Copy the "SqlAgentJobs_PROD01.sql" file from above to a network share. III. Run the Powershell script below in  Powershell ISE as administrator: ##migrating jobs from one server to another with the replace command $SqlConnection = New-Object System.Data.SqlClient.SqlConnection $SqlConnection.ConnectionStrin...

ERROR: must be owner of database databaseName - postgres error

Hi everyone! Today's post is about Postgres SQL. In my environment we are using Postgres SQL as one option for the backend of AWS (Amazon Web Services). That's right. We also have another option - MySQL. This post however will focus on the Postgres SQL error: "ERROR: must be owner of database databaseName" Scenario : I encountered this error when I was trying to drop a database from an AWS cluster. Amazon allows you to group databases inside of containers. These containers still have the same logic as SQL schemas which hold our database in SQL server. You can read more about AWS clusters here . Solution : This is very easy. It's in the error. All I have to do is make myself the owner of the database so I can delete the database. I. If your user account does not already have read/write privileges, then you will need to sign in to the Postgres cluster with an admin account so you can grant read/write access to your user account. II. If your ...

It's all about permissions - Part 3 ; PLSQL permissions users

Hi guys! This post is simply on PLSQL permissions. Specifically, how to script out users. In Postgres, users can have access to: a sequence a table a schema a cluster This example covers giving users access to a sequence, table and schema only. Permissions to a cluster are obtained differently; these permissions are created in AWS (Amazon Web Services). Note : In Postgres, make sure that your Postgres connection has read/write permissions by right clicking the cluster and selecting properties to view the user under the 'connections' tab. Locate the database you want to access under the appropriate cluster > right click the database > choose 'Grant Wizard'. a) Select all the objects. b) select the grantee (the user you want to have access to the database) + the level of permissions they need (which is SELECT in this example). c) copy the text results in step 3 of 3 and paste it into Notepad++. ...

It's all about permissions - Part 2 ; TSQL Permissions users

Hi guys! This post is simply on TSQL permissions. Specifically, how to script out users and logins. Users are specific to a SQL server instance while Logins can be used across a domain (via Active Directory). Let's get started on how to script users. This script has only one step. --Check if ##stage tables exists, and if it does, drop it If exists ( Select name from tempdb..sysobjects where name = '##scriptlogins' ) Drop Table ##scriptlogins Go --Create table that lists all staging tables to be purged Create table ##scriptlogins (listid int identity ( 1 , 1 ), script nvarchar ( max )); Insert into ##scriptlogins SELECT 'Use [' +[ name ]+ ']' + char ( 13 ) + char ( 10 ) + ' If exists (Select name from tempdb..sysobjects where name = ''##Users'') Drop Table ##Users If exists (Select name from tempdb..sysobjects where name = ''xcur'') close xcur create table ##users ( r...

It's all about permissions - Part 1 ; TSQL permissions - Logins

Hi guys! This post is simply on TSQL permissions. Specifically, how to script out users and logins. Users are specific to a SQL server instance while Logins can be used across a domain (via Active Directory). Let's get started on how to script logins. Step 1 SELECT 'IF (SUSER_ID(' + QUOTENAME (SP. name , '''' )+ ') IS NULL) BEGIN CREATE LOGIN ' + QUOTENAME (SP. name )+ CASE WHEN SP.type_desc = 'SQL_LOGIN' THEN ' WITH PASSWORD = ' + CONVERT ( NVARCHAR ( MAX ),SL.password_hash, 1 )+ ' HASHED, CHECK_EXPIRATION = ' + CASE WHEN SL.is_expiration_checked = 1 THEN 'ON' ELSE 'OFF' END + ', CHECK_POLICY = ' + CASE WHEN SL.is_policy_checked = 1 THEN 'ON,' ELSE 'OFF,' END ELSE ' FROM WINDOWS WITH' END + ' DEFAULT_DATABASE=[' +SP.default_database_name+ '], DEFAULT_LANGUAGE=[' +SP.default_language_name+ '] END;' COLLATE SQL...