Monday, 8 December 2014

LTRIM RTRIM is not working

ALTER FUNCTION FFCSSuite.[dbo].[udfTrim]
(
    @StringToClean as varchar(8000)
)
RETURNS varchar(8000)
AS
BEGIN   
    --Replace all non printing whitespace characers with Characer 32 whitespace
    --NULL
    Set @StringToClean = Replace(@StringToClean,CHAR(0),CHAR(32));
    --Horizontal Tab
    Set @StringToClean = Replace(@StringToClean,CHAR(9),CHAR(32));
    --Line Feed
    Set @StringToClean = Replace(@StringToClean,CHAR(10),CHAR(32));
    --Vertical Tab
    Set @StringToClean = Replace(@StringToClean,CHAR(11),CHAR(32));
    --Form Feed
    Set @StringToClean = Replace(@StringToClean,CHAR(12),CHAR(32));
    --Carriage Return
    Set @StringToClean = Replace(@StringToClean,CHAR(13),CHAR(32));
    --Column Break
    Set @StringToClean = Replace(@StringToClean,CHAR(14),CHAR(32));
    --Non-breaking space
    Set @StringToClean = Replace(@StringToClean,CHAR(160),CHAR(32));

    Set @StringToClean = LTRIM(RTRIM(@StringToClean));
    Return @StringToClean
END
GO

Thursday, 6 November 2014

Query to List the tables with out Identity Columns

SELECT TABLE_SCHEMA,TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'dbo' AND TABLE_NAME NOT IN (
SELECT
  [table] = t.name
FROM sys.schemas AS s
INNER JOIN sys.tables AS t
  ON s.[schema_id] = t.[schema_id]
WHERE  EXISTS
(
  SELECT 1 FROM sys.identity_columns
    WHERE [object_id] = t.[object_id]
)
AND s.name = 'dbo'
)

Query to list the tables which doesn't have Primary key

SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE  TABLE_SCHEMA = 'dbo'
AND TABLE_NAME NOT IN
(
    SELECT 
    Tab.TABLE_NAME
    from
    INFORMATION_SCHEMA.TABLE_CONSTRAINTS Tab,
    INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE Col
WHERE
    Col.Constraint_Name = Tab.Constraint_Name
    AND Col.Table_Name = Tab.Table_Name
    AND Constraint_Type = 'PRIMARY KEY'
    AND Tab.table_schema = 'dbo'
)

Monday, 3 November 2014

Query to get All table columns with its datatype

SELECT SCHEMA_NAME(t.schema_id) AS schema_name,
t.name AS table_name,
c.name AS column_name,
ty.name AS datatype
FROM sys.tables AS t
INNER JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_ID
INNER JOIN sys.types ty ON c.user_type_id = ty.user_type_id
WHERE ty.name = 'varchar'
ORDER BY schema_name, table_name;

Tuesday, 14 October 2014

List identity columns in sql server

SELECT
  [schema] = s.name,
  [table] = t.name
FROM sys.schemas AS s
INNER JOIN sys.tables AS t
  ON s.[schema_id] = t.[schema_id]
WHERE  EXISTS
(
  SELECT 1 FROM sys.identity_columns
    WHERE [object_id] = t.[object_id]
)
AND s.name = 'dbo'

Change the schema of a table in sql server

ALTER SCHEMA [SCHEMA-NAME] TRANSFER [TABLE-NAME]

Eg: Alter Schema Emp Transfer dbo.Employee

Tuesday, 9 September 2014

Rename a Database

ALTER DATABASE FFCSSuite
SET SINGLE_USER WITH ROLLBACK IMMEDIATE


ALTER DATABASE FFCSSuite_Meta MODIFY NAME = FFCSSuite


ALTER DATABASE FFCSSuite
SET MULTI_USER WITH ROLLBACK IMMEDIATE

Thursday, 21 August 2014

Batch file to execute SQL Server Stored Procedure

@echo OFF
SET ServerName=.\EXPR
SET Loc=C:\DataUpload\AccessDB
SET Schema=MDM
ECHO DB Server is %ServerName%
ECHO Location is   %Loc%
ECHO Schema is   %Schema%
ECHO Parameter 1 is %1
PAUSE
sqlcmd -Q "EXEC  [MDM].[dbo].[MDMSync]   '%Loc%'" -S   %ServerName% -d  %Schema%
PAUSE


Parameterized Script

@echo OFF
ECHO DB Server is %1
ECHO Schema is  %2
ECHO Location is %3
PAUSE
sqlcmd -Q "EXEC  [MDM].[dbo].[MDMSync]   '%3'" -S   %1 -d  %2

Wednesday, 20 August 2014

Writing to Text file using Stored Procedure Sql Server Database


SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE WriteToFile
    @File VARCHAR(2000)
AS
BEGIN
    SET NOCOUNT ON;

    DECLARE @OLE    int
    DECLARE @FileID int

    EXEC sp_OACreate 'Scripting.FileSystemObject',@OLE OUT
    EXEC sp_OAMethod @OLE, 'OpenTextFile' ,@FileID OUT, @File , 8 , 1
    EXEC sp_OAMethod @FileID , 'WriteLine', Null, 'Hello'
    EXEC sp_OADestroy @FileID
    EXEC sp_OADestroy @OLE
   
END
GO


--EXEC MDM.dbo.WriteToFile 'C:\DataUpload\AccessDB\hello.txt'



sp_configure 'show advanced options', 1 ;
GO
RECONFIGURE
GO

sp_configure 'Ole Automation Procedures', 1 ;
GO
RECONFIGURE
GO

Tuesday, 12 August 2014

Creating Linked Server with a name other than its Server name

EXEC master.dbo.sp_addlinkedserver
    @server = N'DEV',
    @srvproduct=N'MSDASQL',
    @provider=N'SQLNCLI',
    @provstr=N'DRIVER={SQL Server};SERVER=Servername\InstanceName;UID=user1;PWD=rosebud567;',
    @catalog=N'database1'