بهترین ها همه در یک جا
احتمالا هنگامی که اولین بار پس از نصب 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 در 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 تغییر نمیکند که برای این کار از دستورات زیر در 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 با خطایی زیر روبرو میشوید
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'
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
برای رفع خطای 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 سرچ شود و بقیه کارها مطابق قبل انجام میشود.