برنامه نویس

به وبلاگ خودتان خوش آمدید.

برنامه نویس

به وبلاگ خودتان خوش آمدید.

دستورات Sql

در اینجا یکسری از دستورات 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