<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DZone Snippets: SQLServer code</title>
    <link>http://snippets.dzone.com/posts</link>
    <pubDate>Mon, 13 Oct 2008 20:14:20 GMT</pubDate>
    <description>DZone Snippets: SQLServer code</description>
    <item>
      <title>Return current system date and time in Microsoft SQL Server</title>
      <link>http://snippets.dzone.com/posts/show/5767</link>
      <description>Solution from &lt;a href="http://mattfaus.com/blog/2008/02/16/ms-sql-server-transact-sql-now-function/"&gt;The Matt Faus Blog&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;SELECT GETDATE();&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Tue, 15 Jul 2008 05:28:42 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/5767</guid>
      <author>jeffreybarke (Jeffrey Barke)</author>
    </item>
    <item>
      <title>Drop an unnamed constraint from SqlServer 2000</title>
      <link>http://snippets.dzone.com/posts/show/5221</link>
      <description>// description of your code here&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;declare @name nvarchar(32), &lt;br /&gt;    @sql nvarchar(1000)&lt;br /&gt;&lt;br /&gt;-- find constraint name&lt;br /&gt;select @name = O.name &lt;br /&gt;from sysobjects AS O&lt;br /&gt;left join sysobjects AS T&lt;br /&gt;    on O.parent_obj = T.id&lt;br /&gt;where isnull(objectproperty(O.id,'IsMSShipped'),1) = 0&lt;br /&gt;    and O.name not like '%dtproper%'&lt;br /&gt;    and O.name not like 'dt[_]%'&lt;br /&gt;    and T.name = 'MyTable'&lt;br /&gt;    and O.name like 'DF__MyTable__MyColu%'&lt;br /&gt;&lt;br /&gt;-- delete if found&lt;br /&gt;if not @name is null&lt;br /&gt;begin&lt;br /&gt;    select @sql = 'ALTER TABLE [MyTable] DROP CONSTRAINT [' + @name + ']'&lt;br /&gt;    execute sp_executesql @sql&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;-- do your ALTER TABLE here&lt;br /&gt;&lt;br /&gt;-- replace the constraint&lt;br /&gt;select @sql = 'ALTER TABLE [MyTable] ADD CONSTRAINT [' + @name + '] DEFAULT (0) FOR [MyColumn]'&lt;br /&gt;execute sp_executesql @sql&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Wed, 12 Mar 2008 22:00:43 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/5221</guid>
      <author>frost137 (Douglas Wyatt)</author>
    </item>
    <item>
      <title>SQL 2005 TSQL Script to list tables, indexes, file groups along with file names </title>
      <link>http://snippets.dzone.com/posts/show/4207</link>
      <description>// description of your code here&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;select 'table_name'=object_name(i.id)  ,i.indid&lt;br /&gt;,'index_name'=i.name  ,i.groupid&lt;br /&gt;,'filegroup'=f.name  ,'file_name'=d.physical_name&lt;br /&gt;,'dataspace'=s.name from sys.sysindexes i&lt;br /&gt;,sys.filegroups f  ,sys.database_files d&lt;br /&gt;,sys.data_spaces s&lt;br /&gt;where objectproperty(i.id,'IsUserTable') = 1&lt;br /&gt;and f.data_space_id = i.groupid&lt;br /&gt;and f.data_space_id = d.data_space_id&lt;br /&gt;and f.data_space_id = s.data_space_id&lt;br /&gt;order by f.name,object_name(i.id),groupid&lt;br /&gt;go&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Mon, 25 Jun 2007 15:16:09 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/4207</guid>
      <author>mornlee (mornlee)</author>
    </item>
    <item>
      <title>XML file to SQL</title>
      <link>http://snippets.dzone.com/posts/show/4157</link>
      <description>// XML file to SQL&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;CREATE TABLE XmlImportTest ( xmlFileName VARCHAR(300), xml_data xml ) &lt;br /&gt;GO &lt;br /&gt;DECLARE @xmlFileName VARCHAR(300) &lt;br /&gt;SELECT @xmlFileName = 'c:\TestXml.xml' &lt;br /&gt;-- dynamic sql is just so we can use @xmlFileName variable in OPENROWSET &lt;br /&gt;EXEC(' INSERT INTO XmlImportTest(xmlFileName, xml_data) SELECT ''' + @xmlFileName + ''', xmlData FROM ( SELECT * FROM OPENROWSET (BULK ''' + @xmlFileName + ''' , SINGLE_BLOB) AS XMLDATA ) AS FileImport (XMLDATA) ') &lt;br /&gt;GO &lt;br /&gt;SELECT * FROM XmlImportTest &lt;br /&gt;DROP TABLE XmlImportTest &lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Mon, 18 Jun 2007 09:54:58 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/4157</guid>
      <author>mornlee (mornlee)</author>
    </item>
    <item>
      <title>Accessing SQL Server 2005 from Ruby</title>
      <link>http://snippets.dzone.com/posts/show/3906</link>
      <description>The following is improved version of the code created by David Mullet, from&lt;br /&gt;http://rubyonwindows.blogspot.com/2007/03/ruby-ado-and-sqlserver.html&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;require 'win32ole'&lt;br /&gt;&lt;br /&gt;class SqlServer&lt;br /&gt;    # This class manages database connection and queries&lt;br /&gt;    attr_accessor :connection, :data, :fields&lt;br /&gt;	attr_writer :username, :password&lt;br /&gt;&lt;br /&gt;    def initialize(host, username = 'sa', password='')&lt;br /&gt;        @connection = nil&lt;br /&gt;        @data = nil&lt;br /&gt;	@host = host&lt;br /&gt;	@username = username&lt;br /&gt;	@password = password&lt;br /&gt;    end&lt;br /&gt;&lt;br /&gt;    def open(database)&lt;br /&gt;        # Open ADO connection to the SQL Server database&lt;br /&gt;        connection_string =  "Provider=SQLOLEDB.1;"&lt;br /&gt;        connection_string &lt;&lt; "Persist Security Info=False;"&lt;br /&gt;        connection_string &lt;&lt; "User ID=#{@username};"&lt;br /&gt;        connection_string &lt;&lt; "password=#{@password};"&lt;br /&gt;        connection_string &lt;&lt; "Initial Catalog=#{database};"&lt;br /&gt;        connection_string &lt;&lt; "Data Source=#{@host};"&lt;br /&gt;        connection_string &lt;&lt; "Network Library=dbmssocn"&lt;br /&gt;        @connection = WIN32OLE.new('ADODB.Connection')&lt;br /&gt;        @connection.Open(connection_string)&lt;br /&gt;    end&lt;br /&gt;&lt;br /&gt;    def query(sql)&lt;br /&gt;        # Create an instance of an ADO Recordset&lt;br /&gt;        recordset = WIN32OLE.new('ADODB.Recordset')&lt;br /&gt;        # Open the recordset, using an SQL statement and the&lt;br /&gt;        # existing ADO connection&lt;br /&gt;        recordset.Open(sql, @connection)&lt;br /&gt;        # Create and populate an array of field names&lt;br /&gt;        @fields = []&lt;br /&gt;        recordset.Fields.each do |field|&lt;br /&gt;            @fields &lt;&lt; field.Name&lt;br /&gt;        end&lt;br /&gt;        begin&lt;br /&gt;            # Move to the first record/row, if any exist&lt;br /&gt;            recordset.MoveFirst&lt;br /&gt;            # Grab all records&lt;br /&gt;            @data = recordset.GetRows&lt;br /&gt;        rescue&lt;br /&gt;            @data = []&lt;br /&gt;        end&lt;br /&gt;        recordset.Close&lt;br /&gt;        # An ADO Recordset's GetRows method returns an array &lt;br /&gt;        # of columns, so we'll use the transpose method to &lt;br /&gt;        # convert it to an array of rows&lt;br /&gt;        @data = @data.transpose&lt;br /&gt;    end&lt;br /&gt;&lt;br /&gt;    def close&lt;br /&gt;        @connection.Close&lt;br /&gt;    end&lt;br /&gt;end&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;How to use it:&lt;br /&gt;db = SqlServer.new('localhost', 'sa', 'SOMEPASSWORD')&lt;br /&gt;db.open('Northwind')&lt;br /&gt;db.query("SELECT * from Customers;")&lt;br /&gt;puts field_names = db.fields&lt;br /&gt;cust = db.data&lt;br /&gt;puts cust.size&lt;br /&gt;puts cust[0].inspect&lt;br /&gt;db.close&lt;br /&gt;</description>
      <pubDate>Thu, 26 Apr 2007 04:06:00 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/3906</guid>
      <author>radegast (Miro)</author>
    </item>
    <item>
      <title>Search for specific text in all stored procedures</title>
      <link>http://snippets.dzone.com/posts/show/3905</link>
      <description>&lt;code&gt;&lt;br /&gt;declare @search varchar(50)&lt;br /&gt;SET @search = 'searchterm'&lt;br /&gt;&lt;br /&gt;SELECT    &lt;br /&gt;     ROUTINE_NAME,&lt;br /&gt;     ROUTINE_DEFINITION&lt;br /&gt;FROM    &lt;br /&gt;    INFORMATION_SCHEMA.ROUTINES&lt;br /&gt;WHERE    &lt;br /&gt;    ROUTINE_DEFINITION LIKE @search&lt;br /&gt;ORDER BY&lt;br /&gt;    ROUTINE_NAME&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Thu, 26 Apr 2007 03:08:05 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/3905</guid>
      <author>mrtrombone (Mark Easton)</author>
    </item>
    <item>
      <title>Select random row, SQL Server</title>
      <link>http://snippets.dzone.com/posts/show/3584</link>
      <description>// select a random row in SQL Server, apparently. Untested.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;SELECT TOP 1 column FROM table&lt;br /&gt;ORDER BY NEWID()&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Mon, 26 Feb 2007 11:33:18 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/3584</guid>
      <author>brook (Robert Brook)</author>
    </item>
    <item>
      <title>SQL server ASP database test</title>
      <link>http://snippets.dzone.com/posts/show/3222</link>
      <description>// basic sql server database asp code test&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;%&lt;br /&gt;str_ConnectionString = "Provider=SQLOLEDB;Data Source=servername;Initial Catalog=database;User Id=user;Password=pwd;"&lt;br /&gt;Set oConn = Server.CreateObject("ADODB.Connection")&lt;br /&gt;oConn.Open str_ConnectionString&lt;br /&gt;&lt;br /&gt;set rs = Server.CreateObject("ADODB.recordset")&lt;br /&gt;strSQL="select * from tablename"&lt;br /&gt;&lt;br /&gt;rs.Open strSQL, oConn&lt;br /&gt;&lt;br /&gt;do until rs.EOF&lt;br /&gt;	for each x in rs.Fields&lt;br /&gt;		response.write x.value &amp; "|"&lt;br /&gt;	next&lt;br /&gt;	rs.MoveNext&lt;br /&gt;	response.write "&lt;br&gt;"&lt;br /&gt;loop	&lt;br /&gt;&lt;br /&gt;rs.Close&lt;br /&gt;&lt;br /&gt;oConn.Close&lt;br /&gt;set oConn = Nothing&lt;br /&gt;%&gt;&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Tue, 02 Jan 2007 03:55:42 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/3222</guid>
      <author>spearmahj (j)</author>
    </item>
    <item>
      <title>sql server backup script for all user databases</title>
      <link>http://snippets.dzone.com/posts/show/3220</link>
      <description>// This code will create new backup locations on disk on a daily / weekly / yearly basis&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;-- Declare variables&lt;br /&gt;&lt;br /&gt;declare @count int, @max int, @day varchar(10), @path varchar(1000), @dbname varchar(55)&lt;br /&gt;declare @device varchar(255), @physical varchar(1255), @lastbackup smalldatetime&lt;br /&gt;&lt;br /&gt;-- Set count to start at database ID +1 &lt;br /&gt;-- master	1&lt;br /&gt;-- tempdb	2&lt;br /&gt;-- model		3&lt;br /&gt;-- msdb		4&lt;br /&gt;-- pubs		5&lt;br /&gt;-- Northwind	6&lt;br /&gt;&lt;br /&gt;set @count = 7&lt;br /&gt;&lt;br /&gt;-- Set maximum no of databases on server&lt;br /&gt;&lt;br /&gt;--set @max = (select count(*) from master..sysdatabases) +1&lt;br /&gt;set @max = 12&lt;br /&gt;&lt;br /&gt;-- Set backup path&lt;br /&gt;&lt;br /&gt;set @path='D:\SQL\backups\'&lt;br /&gt;&lt;br /&gt;-- Get unique cycle number&lt;br /&gt;-- For weekly cycle - datepart(dw,getdate())&lt;br /&gt;-- For monthly cycle - datepart(dd,getdate())&lt;br /&gt;-- For yearly cycle - datepart(dy,getdate())&lt;br /&gt;&lt;br /&gt;set @day=datepart(dw,getdate())&lt;br /&gt;&lt;br /&gt;-- While the starting number of databases is smaller than the maximum number&lt;br /&gt;-- of databases:&lt;br /&gt;-- 1.	Check if there is already a backup device made for this&lt;br /&gt;-- day of the cycle. If there isn't create the device.&lt;br /&gt;-- 2.	See if a backup has already been done for this day of the cycle. If &lt;br /&gt;-- it hasn't do a full backup, otherwise do a differential backup.&lt;br /&gt;-- 3.	Repeat for next database.&lt;br /&gt;&lt;br /&gt;while (@count &lt; @max)&lt;br /&gt;begin&lt;br /&gt;	&lt;br /&gt;	set @dbname = (select [name] from master..sysdatabases where dbid=@count)&lt;br /&gt;	set @device=@dbname + '_' + @day&lt;br /&gt;	&lt;br /&gt;	if (select count(*) from master..sysdevices where name = @dbname + '_' + @day)=0 begin&lt;br /&gt;		set @physical=@path+@device + '.bak'&lt;br /&gt;		EXEC sp_addumpdevice 'disk', @device, @physical&lt;br /&gt;	end&lt;br /&gt;	&lt;br /&gt;	begin&lt;br /&gt;	&lt;br /&gt;		set @lastbackup=(select max(backup_finish_date) &lt;br /&gt;		from msdb.dbo.backupmediafamily, msdb.dbo.backupset&lt;br /&gt;		where msdb.dbo.backupset.media_set_id=msdb.dbo.backupmediafamily.media_set_id&lt;br /&gt;		and logical_device_name=@device&lt;br /&gt;		)&lt;br /&gt;		&lt;br /&gt;		if datepart(dd, @lastbackup)!=datepart(dd,getdate()) begin&lt;br /&gt;			BACKUP DATABASE @dbname TO @device WITH INIT&lt;br /&gt;		end&lt;br /&gt;		else begin&lt;br /&gt;			BACKUP DATABASE @dbname TO @device WITH DIFFERENTIAL&lt;br /&gt;		end &lt;br /&gt;	&lt;br /&gt;	end  &lt;br /&gt;	&lt;br /&gt;	set @count = @count + 1  &lt;br /&gt;&lt;br /&gt;continue &lt;br /&gt;break&lt;br /&gt;&lt;br /&gt;end &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Tue, 02 Jan 2007 03:35:50 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/3220</guid>
      <author>spearmahj (j)</author>
    </item>
    <item>
      <title>Connect to MS SQL Server via ODBC vs OLEDB.</title>
      <link>http://snippets.dzone.com/posts/show/2783</link>
      <description>From http://wiki.rubyonrails.org/rails/pages/HowtoConnectToMicrosoftSQLServer:&lt;br /&gt;&lt;br /&gt;Connecting via the OLEDB adaptor seems to have it&#8217;s quirks. Another posibility is to connect via ODBC (tested with Rails 1.1.6)&lt;br /&gt;&lt;br /&gt;e.g. for a trusted connection&lt;br /&gt;&lt;code&gt;&lt;br /&gt;development:&lt;br /&gt;  adapter: sqlserver&lt;br /&gt;  mode: odbc&lt;br /&gt;  dsn: Driver={SQL Server};Server=&lt;your server&gt;;Database=&lt;your db&gt;;Trusted_Connection=yes;&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Thu, 05 Oct 2006 02:21:27 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/2783</guid>
      <author>MattScilipoti (Matt Scilipoti)</author>
    </item>
  </channel>
</rss>
