logo

بهترین ها همه در یک جا

مطالب آموزشی

نکات SQL Server

اشتراک گذاری :

حل خطای عدم ذخیره شدن تغییرات Table در SQL Server

احتمالا هنگامی که اولین بار پس از نصب SQL تغییراتی رو در یک Table اعمال کردید و میخواهید آنرا ذخیره کنید با خطای زیر روبرو میشوید

Saving changes is not permitted. The change you have made requires the following table to be dropped and re-created.
You have either made changes to a table that can't be recreated or enabled the option prevent saving changes that require the table to be re-created.

برای حل این محدودیت ، از منو  گزینه Tools و سپس Options را انتخاب کنید.

از منو کناری، گزینه Designers را انتخاب کنید.

تیک گزینه Prevent saving changes that require table re-creation را بردارید.


فهمیدن تایپ ستون‌های یک View یا Table

برای  فهمیدن تایپ ستون‌های یک View یا Table در SQL از طریق اسکریپت از کد زیر استفاده میکنیم .

SELECT COLUMN_NAME , DATA_TYPE 
FROM INFORMATION_SCHEMA.COLUMNS
WHERE 
     TABLE_NAME = 'YourViewName' 


تغییر نام دیتابیس توسط اسکریپت

زمانی که دیتابیس مورد استفاده است و قصد تغییر نام آنرا دارید با خطا روبرو میشوید که برای حل آن ابتدا باید دیتابیس رو به حالت single user در بیاورید ، تغییر نام را انجام دهید و مجدد آنرا multi user کنید .

ALTER DATABASE OldDbName SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
ALTER DATABASE OldDbName MODIFY NAME = NewDbName
GO
ALTER DATABASE NewDbName SET MULTI_USER
GO

تغییر نام دیتابیس همراه تغییر نام mdf و ldf

به صورت پیش فرض با تغییر نام دیتابیس نام فایل های mdf و ldf تغییر نمیکند که برای این کار از دستورات زیر در SQL Server استفاده میکنیم :

ALTER DATABASE OldDabaseName MODIFY FILE (NAME='OldDatabaseName', FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\NewDatabaseName.mdf');

ALTER DATABASE OldDatabaseName MODIFY FILE (NAME='OldDatabaseName_log', FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\NewDatabaseName_log.ldf');

ALTER DATABASE OldDatabaseName MODIFY FILE (NAME = OldDatabaseName, NEWNAME = NewDatabaseName);
ALTER DATABASE OldDatabaseName MODIFY FILE (NAME = OldDatabaseName_log, NEWNAME = NewDatabaseName_log);

آفلاین و آنلاین کردن دیتابیس

بعضی اوقات لازمه کارهایی روی دیتابیس انجام بشه که در حالت استارت بودن SQL Server نمیشه اونها رو روی دیتابیس انجام داد . مثلا تغییر نام فیزیکی فایل mdf و ldf و یا جابجایی و کپی کردن این فایل ها و ...دراین مواقع میشه به جای stop  کردن کل سرور فقط دیتابیس مورد نظر رو توی حالت آفلاین برد و پس از انجام کار مورد نظر دوباره اون رو آنلاین کرد .

ALTER DATABASE YourDatabase
SET OFFLINE WITH ROLLBACK IMMEDIATE;
و برای آنلاین کردن
ALTER DATABASE YourDatabase
SET ONLINE;

رفع مشکل عدم ساخت و نمایش دیاگرام در   SQL Server


به صورت پیش فرض برای ساخت دیاگرام در SQL Server با خطایی  زیر روبرو میشوید

Database diagram support objects cannot be installed because this database does not have a valid owner.
To continue, first use the Files page of the Database Properties dialog box or the ALTER AUTHORIZATION statement
to set the database owner to a valid login, then add the database diagram support objects.

که از طریق زیر میشه اون رو حل کرد

use YourDBName EXEC sp_changedbowner 'sa'

رفع خطای نمایش Error مرتبط با group concat

برای حل مشکل نمایش Error مرتبط با group concat در SQL Server که پیامی به صورت
An error occurred in the Microsoft .NET Framework while trying to load assembly id 65536. The server may be running out of resources,
or the assembly may not be trusted. Run the query again, or check documentation to see how to solve the assembly trust issues.
For more information about this error:System.IO.FileLoadException:
Could not load file or assembly 'group_concat, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.
نشان میدهد باید به صورت زیر عمل کرد:
ALTER DATABASE YourDBName SET TRUSTWORTHY ON;
GO
USE YourDBName 
GO
EXEC sp_changedbowner 'sa'
GO

حل مشکل Import از اکسل به تیبل مورد نظر در SQL

برای رفع خطای The 'Microsoft.ACE.OLEDB.16.0' provider is not registered on the local machine. (System.Data)

از لینک زیر Microsoft Access Database Engine 2016 Redistributable  را نصب کنید.

https://www.microsoft.com/en-us/download/details.aspx?id=54920

در صورت حل نشدن مشکل مستقیما از Start ویندوز DTSWizard سرچ شود و بقیه کارها مطابق قبل انجام میشود.


SQL Server
avatar

برنامه نویس و توسعه دهنده ارشد وب
کارشناس ارشد مدیریت فناوری اطلاعات