به منظور اضافه کردن کلید اصلی به view در اس کیو ال سرور کافی است دستور زیر را را اضافه کنید به ویو خود
ISNULL(ROW_NUMBER() OVER (ORDER BY column_name ASC), - 1) AS RowID
column_name نام یکی از ستون های خود را وارد کنید
موضوعات مرتبط: SQL
برچسب ها: کلید اصلی , طراحی ویو , کلید اصلی در ویو
گاهی نیاز است یه خروجی اکسل از سر ستون های یک جدول داشته باشید، برای اینکار کافی است دستور زیر را اجرا کنید
use [نام پایگاه داده]
select name from syscolumns where id=object_id('نام جدول')موضوعات مرتبط: SQL
برچسب ها: لیست ستون های جدول , سر ستون , sql table columns list
برای این کار کافی است در قسمت فرمول فیلد مورد نظر عبارت زیر را تایپ کنید
(getdate())
موضوعات مرتبط: SQL
برچسب ها: ذخیره تاریخ در sql , date in sql server
برای تبدیل تاریخ شمسی به میلادی در SQL Server ابتدا فایل زیر را دانلود کنید.
بعد از باز کردن فایل دانلود شده در SQL Server نام پایگاه داده خود را در قسمت db_name نوشته و دستور را یکبار اجرا کنید.
جهت استفاده کافی است از دستوری مشابه دستور زیر استفاده کنید.
select dbo.ShamsitoMiladi('1398/01/01')
موضوعات مرتبط: SQL
DECLARE @i int = 0
Declare @viewname nvarchar(50)
WHILE @i < 1097
BEGIN
set @viewname='_dta_mv_'+CAST(@i as nvarchar(50))
EXEC('DROP VIEW ' + @viewname)
SET @i = @i + 1
END
موضوعات مرتبط: SQL
برچسب ها: DROP VIEW , حذف ویو , حلقه در sql server
You can use the following software to restore a group of database backups.
موضوعات مرتبط: برنامه نویسی ، SQL
برچسب ها: SQL SERVER Backup Restore , Group Restore , بازگردانی گروهی بکاپ
خیلی از برنامه های کاربردی که با بانک های اطلاعاتی کار می کنند نیاز دارند تا تاریخ شمسی را نیز در پایگاه داده اس کیو ال ذخیره کنند ولی بانک اطلاعاتی اس کیو ال تنها تاریخ میلادی را به شما می دهد و برای به دست آوردن تاریخ شمسی باید توابعی را ایجاد کرد تا بتواند تاریخ میلادی را به تاریخ شمسی تبدیل کند.
برای این منظور کافی است چهار تایع زیر را بعد از تغییر YourDatabaseName که در اول تابع است،در اس کیو ال سرور خود اجرا کنید تا 4 تابع برای شما ذخیره شوند. سپس با دستور زیر تاریخ میلادی به شمسی تبدیل می شود.
نحوه تبدیل :
select dbo.GregorianToPersian('1980/01/01')
با دستور زیر هم میتونید تاریخ روز جاری را دریافت کنید
select REPLACE(dbo.GregorianToPersian(CONVERT (date, SYSDATETIMEOFFSET()) ),'-','/')
نکته ( جدید ): در صورتی که بخواهید در فرمول سیستم نیز به صورت خودکار با درج یک ردیف تاریخ نیز به صورت خودکار ذخیره شود کافی است در قسمت فرمول فیلد مورد نظر کد زیر را قرار دهید
REPLACE(dbo.GregorianToPersian(CONVERT (date, SYSDATETIMEOFFSET()) ),'-','/')
موضوعات مرتبط: SQL
برچسب ها: SQL Server , اس کیو ال
گاهی می خواهید خیلی ساده یک ردیف به خروجی دستو SQL شما اضافه شود بنابر این داریم
ROW_NUMBER() over ( order by mycolumn) as row
| mycolumn | row |
| A | 1 |
| A | 2 |
| B | 3 |
| B | 4 |
| C | 5 |
گاهی می خواهید شمارنده تنها برای گروه افزایش یابد در این صورت داریم:
ROW_NUMBER() over (PARTITION by uniq_code order by mycolumn) as row
| mycolumn | row |
| A | 1 |
| A | 2 |
| B | 1 |
| B | 2 |
| C | 1 |
گاهی می خواهید ردیف بر اساس گروه های مختلف افزایش یابد در این صورت داریم
DENSE_RANK() over (order by mycolumn) as row
| mycolumn | row |
| A | 1 |
| A | 1 |
| B | 2 |
| B | 2 |
| C | 3 |
موضوعات مرتبط: SQL
برچسب ها: شمارنده در sql , ردیف در sql
ALTER DATABASE Database_Name
SET RECOVERY SIMPLE;
GO
Use BiztalkMsgBoxDb
GO
DBCC SHRINKFILE (Database_Name_log, 1);
GO
ALTER DATABASE Database_Name
SET RECOVERY FULL
GO
* عدد 1 به معنای 1 مگ می باشد
موضوعات مرتبط: SQL
برچسب ها: sql , کاهش حجم ریکاوری
DECLARE @name VARCHAR(50) -- database name
DECLARE @path VARCHAR(256) -- path for backup files
DECLARE @fileName VARCHAR(256) -- filename for backup
DECLARE @fileDate VARCHAR(20) -- used for file name
-- specify database backup directory
SET @path = 'E:\Mousavi\back_up\rostami\'
-- specify filename format
SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112)
DECLARE db_cursor CURSOR FOR
SELECT name
FROM master.dbo.sysdatabases
WHERE name NOT IN ('master','model','msdb','tempdb') -- exclude these databases
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @name
WHILE @@FETCH_STATUS = 0
BEGIN
SET @fileName = @path + @name + '_' + @fileDate + '.BAK'
BACKUP DATABASE @name TO DISK = @fileName
FETCH NEXT FROM db_cursor INTO @name
END
CLOSE db_cursor
DEALLOCATE db_cursor
موضوعات مرتبط: SQL
برچسب ها: sql , Backup , نسخه پشتیبان
select DATEDIFF(MINUTE,'10:00','12:00')
نتیجه:120
می توان واحد اختلاف را ساعت،دقیقه و یا ثانیه در نظر گرفت.
همچنین بدیهی است به جای اعداد ثابت بالا کافی است نام فیلد را قرار دهید.
select DATEDIFF(MINUTE,Start_Time,End_Time) from TableName
موضوعات مرتبط: SQL
برچسب ها: اختلاف زمان , اختلاف ساعت
با سه دستور زیر به راحنی می توانید یک کاربر SQL SERVER با دسترسی کامل را ایجاد کنید.
CREATE LOGIN [user_name] WITH PASSWORD = 'password';
EXEC sp_addsrvrolemember 'user_name', 'sysadmin';
GRANT CONTROL SERVER TO [user_name]
موضوعات مرتبط: SQL
برچسب ها: sql , کاربر sql , ایجاد کاربر
باید دقت هم داشته باشید که در SQL بین اعداد فارسی و لاتین تفاوت است و فرمت اعداد در دستورات اس کیو ال باید دقیقا به گونه ای باشد که اعداد در پایگاه داده ذخیره شده اند.
برای این منظور می توانید از ابزار قدرتمند persia.net استفاده کنید.
منبع : persiadevelopers
موضوعات مرتبط: SQL
برچسب ها: اعداد فارسی , اس کیو ال
با دنبال کردن مراحل زیر به سادگی می توانید 2 بانک اطلاعاتی در 2 سرور مختلف را به هم لینک کنید و از جدول های آنها در کنار هم استفاده کنید. حتی کار هایی چون join و غیره را نیز به سادگی انجام دهید.
ابتدا وارد سرور sql شوید.
مسیر زیر را دنبال کنید
از object explorer گزینه Server Object را انتخاب کنید و از زیر مجموعه ی آن روی گزینه linked servers راست کلیک کنید و گزینه new linked server را انتخاب کنید. در فرم باز شده طبق تصویر زیر عمل کنید.

سپس تب security را انتخاب کنید و نام کاربر و رمز عبور اس کیو الی را که می خواهیم به آن وصل شویم طبق شکل زیر وارد کنید.

در این مرحله نیز به منظور دسترسی به داده ها و ... تنظیمات را مشابه زیر انجام دهید

موضوعات مرتبط: SQL
برچسب ها: اس کیو ال , سرور مجزا
USE master;
SELECT B.name AS Database_Name,
ISNULL(STR(ABS(DATEDIFF(day, GetDate(),
MAX(Backup_finish_date)))), 'NEVER') AS DaysSinceLastBackup,
ISNULL(CONVERT(char(10), MAX(backup_finish_date), 101), 'NEVER') AS
LastBackupDate
FROM master.dbo.sysdatabases B
LEFT OUTER JOIN msdb.dbo.backupset A
ON A.database_name = B.name
AND A.type = 'D'
GROUP BY
B.Name
ORDER BY
B.nameموضوعات مرتبط: SQL
برچسب ها: تاریخ تهیه آخرین نسخه پشتیبان , sql server
حالا که نکردیم، یکی از راه حل هایی که خوب جواب میدهد، تبدیل نوع داده ای تو sql هست.
در واقع اگر نوع داده ای را ntext یا nvarchar گرفتید، فقط کافیه به نوع داده ای text و یا varchar تبدیلش کنید. اینطوری مشکل حل می شه.
نکته مهم : قبل از هر تغییری روی پایگاه داده حتما یک نسخه پشتبیان تهیه کنید.
موضوعات مرتبط: SQL
برچسب ها: ی فارسی و عربی , حروف عربی در sql
ALTER TABLE Table_name ADD CONSTRAINT Const_Name CHECK (Field_Name >= 0);
موضوعات مرتبط: SQL
موضوعات مرتبط: SQL
برچسب ها: sql , ایجاد کاربری
برای دانلود نرم افزار جستجو گر SQL می توانید اینجا کلیک کنید
موضوعات مرتبط: SQL
برچسب ها: sql serach , جستجو گر sql
موضوعات مرتبط: SQL
برچسب ها: sql , ذخیره خروجی جدول
موضوعات مرتبط: SQL
برچسب ها: تکه تکه کردن , split , sql
.: Weblog Themes By Pichak :.