Ads

02 June 2015

To stop multiple traces on server







Here in the steps to stop the traces:_



Step 1: Find out what are all running

select * FROM :: fn_trace_getinfo(default)

Step 2: Stop them by passing trace id and status
 
sp_trace_setstatus 3, 0

go

sp_trace_setstatus 3, 2



Syntax

sp_trace_setstatus [ @traceid = ] trace_id     , [ @status = ] status



0
Stops the specified trace.
1
Starts the specified trace.
2
Closes the specified trace and deletes its definition from the server.




01 June 2015

Replication _ IMP

Merge publication on a 64-bit SQL Server 2012 instance supports a maximum of 256 articles. Snapshot and transactional replication support up to 32,767 articles.

Merge publication on a 64-bit SQL Server 2012 instance supports a maximum of 246 columns in a table. Snapshot and transactional replication support up to 1,000 columns in a table.

Merge publication supports up to 1,024 bytes for a column used in a row filter. Snapshot and transactional replication support up to 8,000 bytes for a column used in a row filter.

Merge publication supports more than 30 unique indexes in a table. The unique index limit is determined by the number of articles and columns.

25 May 2015

SSIS 2012 Deployment Errors

Failed to deploy project. For more information, query the operation_messages view for the operation identifier ’219′. (Microsoft SQL Server, Error: 27203)


Solution:
To verify detail error message:
======================
select * from catalog.operation_messages
where operation_id=10069


The message column reads as follows:
 
Failed to deploy the project. Fix the problems and try again later.:Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.
The statement has been terminated.
As the person deploying the project, I can’t “help” the Deployment Wizard with tweaking any queries, but I could see what it was doing using SQL Profiler.  The query that caught my attention is the following:
 
exec [internal].[sync_parameter_versions] @project_id=2,@object_version_lsn=10
Notice the number of reads(1.7M) and the duration(30 seconds).  I acquired the query plan for this stored procedure and found that it would run much faster if the following two indexes are applied to the SSISDB database.

USE
 [SSISDB]
GO
CREATE NONCLUSTERED INDEX [ix1_internal_object_parameters_inc] ON [internal].[object_parameters]
(
        [project_id] ASC ,
        [project_version_lsn] ASC
)
INCLUDE (      [parameter_id],
        [object_type],
        [object_name],
        [parameter_name],
        [parameter_data_type],
        [required],
        [sensitive]) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF , ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [ix2_internal_object_parameters_inc] ON [internal].[object_parameters]
(
        [project_id] ASC ,
        [project_version_lsn] ASC ,
        [object_type] ASC ,
        [object_name] ASC ,
        [parameter_data_type] ASC ,
        [required] ASC ,
        [sensitive] ASC
)
INCLUDE (      [parameter_name],
        [default_value],
        [sensitive_default_value],
        [value_type],
        [value_set],
        [referenced_variable_name]) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF , ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO

16 May 2015

The server may be running out of resources, or the assembly may not be trusted with PERMISSION_SET = EXTERNAL_ACCESS or UNSAFE.

Error :
An error occurred in the Microsoft .NET Framework while trying to load assembly id 65554. The server may be running out of resources, or the assembly may not be trusted with PERMISSION_SET = EXTERNAL_ACCESS or UNSAFE.

Solution 1: KB Article
https://support.microsoft.com/en-us/kb/918040

Solution 2: Change the Permission Set : External

While doing this faced the below error :

ERROR: 
The database owner SID recorded in the master database differs from the database owner SID recorded in database
To check who is the owner listed in the master database run the following:

SELECT  SD.[SID]
       ,SL.Name as [LoginName]
  FROM  master..sysdatabases SD inner join master..syslogins SL
    on  SD.SID = SL.SID
 Where  SD.Name = ''


To correct this issue, run the following command:

Alter Authorization on Database:: to []

Once done set the required settings on the properties of Assembly.

16 April 2015

Mirroring Endpoint Owner Changing



Breaking mirror and recreating by logging into the desired account will be the easiest way. But we can follow the below steps to fix the account without breaking.

1. Query to find the current endpoint owner of the instance and take a note.

SELECT [PrincipalName] = sp.name, [PrincipalId] = sp.principal_id, me.* FROM sys.database_mirroring_endpoints me with(nolock)
inner join sys.server_principals sp with(nolock) on me.principal_id = sp.principal_id

2. New endpoint not exists then we need to create as login and need to be granted the following authorization.

GRANT CONNECT ON ENDPOINT::Mirroring TO [Domain\LOGINNAME];
ALTER AUTHORIZATION ON ENDPOINT::Mirroring TO [Domain\LOGINNAME];

3. Verify the current owner of endpoint using step 1.