در اینجا یکسری از دستورات sql گذاشتم که در کدنویسی کاربردهای زیادی دارند و من تنها نمونه ای از انها رو اوردم . help نرم افزار sql server اطلاعات بیشتری را در اختیار شما قرار میدهد . به امید انکه مورد استفاده دوستان قرار گیرد .
یافتن نام Instance فعال
SELECT CONVERT(char(20), SERVERPROPERTY('servername')) as Instance Name
یافتن نام سیستم
SELECT CONVERT(char(20), SERVERPROPERTY('MachineName') ) as serverName
SERVERPROPERTY دارای پارامترهای زیادی است که با تغییر ان می توان اطلاعات زیادی به دست اورد .
یافتن نام database
برای پیدا کردن نام database از این دستور می توانید استفاده کنید که ارگمانهای زیادی دارد . information_schema این دستور کاربردهای بیشتری دارد که با جستجوی بیشتر اطلاعات بیشتری پیدا میکنید .
SELECT table_catalog'tablecatalog' FROM information_schema.columns WHERE table_name = 'نام جدول'
یافتن نام فیلدها ، نوع ، سایز و...
SELECT column_name 'Column Name',
data_type 'Data Type',
CHARacter_maximum_length 'Maximum Length'
FROM information_schema.columns
WHERE table_name = 'نام جدول'
فارسی کردن فیلدها
برای این کار می توان از قسمت توضیحات که در زمان طراحی برای هر فیلد وجود دارد استفاده کرد . در این حالت نام فیلدها را به همراه فیلد توضیحات برای شما می اورد .
select a.value,b.name from sysproperties a full Join syscolumns b
on )a.smallid=b.colid) and ( a.id=b.id ) where
b.id in (Select id from sysobjects where name ='نام جدول'(
یافتن refrence های یک جدول
اگر یک جدول به چنیدین جدول دیگر ارتباط داشته باشد برای فهمیدن این موضوع از دستور زیر استفاده کنید .
select * from sysobjects where parent_obj in )select id from sysobjects where name='نام جدول'(
select * from sysreferences where Constid=' ای دی نتیجه قبل را قرار میدهیم در اینجا ' --constid in refrences = id into sysobjects
select * from sysobjects where id=' rkeyid نتیجه قبل را گذاشت در اینجا باید '
برقراری ارتباط بین دو instance
برای این کار در خود sql در قسمت security بر روی Linked Server کلیک راست کرده و گزینه New Linked Server را میزنیم در سربرگ General در مکان Linked Server نام سروری را که می خواهیم به ان متصل شویم را وارد میکنیم و از قسمت Server Type باید Sql Server را انتخاب کنیم و در سربرگ security قسمت Be Made using this security contex را انتخاب و در قسمت Remote login کلمه sa و در قسمت With password کلمه عبور خود را وارد کنید این کار را در هر دو instance انجام دهید . این عمل را با کد زیر نیز می توانید انجام دهید به جای instance name نام instance خود را بگذارید .
USE master
GO
EXEC sp_addlinkedserver
'instance name',
N'SQL Server'
GO
و یا به صورت
USE master
GO
EXEC sp_addlinkedserver
'instance name'
,
'',
'MSDASQL',
NULL,
NULL,
'DRIVER
={SQL Server};SERVER
=MyServer;UID
=sa;PWD
=;'
GO
حالا ازinstance که در ان قرار دارید به instance دیگری که لینک شده اید دسترسی دارید به عنوان مثال :
select * from[instance name].database name .dbo.table name
select * from [server\Test].Anbar.dbo.test2
براقراری ارتباط با اراکل
USE master
GO
-- To use named parameters:
EXEC sp_addlinkedserver
@server = 'LONDON Mktg',
@srvproduct = 'Oracle',
@provider = 'MSDAORA',
@datasrc = 'MyServer'
GO
-- OR to use no named parameters:
USE master
GO
EXEC sp_addlinkedserver
'LONDON Mktg',
'Oracle',
'MSDAORA',
'MyServer'
GO