خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را
تغییر نام دیتابیس در SQL Server
در این پست آموزشی کوتاه، تصمیم داریم با یک مورد جالب در SQL Server آشنا شویم. قصد داریم ببینیم که چطور در SQL Server می توانید نام یک پایگاه داده یا دیتابیس را تغییر دهیم. یک پایگاه داده در SQL Server اشمل دو فایل خواهد بود(یکی برای logical file name و دیگری برای physical file name) و با اجرای دستور زیر می توانید هر دو نام فایل ها را برای پایگاه داده ببینید.
به جای SQLAuthority باید نام دیتابیس مورد نظر خودتان را جایگزین کنید. سپس اسکریپت فوق را Run کنید.
اما برای Rename کرن فایل فیزیکی یک دیتابیس، آنهم در زمانی دیتابیس زیر بار و در حال اجرا باشد امکان پذیر نخواهد بود. پس باید در این فرآیند دیتابیس را در حالت آفلاین قرار دهیم. پس ابتدا دیتابیس را در حالت Single user قرار داده و سپس دیتابیس را آفلاین می کنیم.
حال به مکان فیزیکی دیتابیس در هارد دیسک رفته و می توانید آن را Rename کنید. ما در این اینجا فقط Log file این دیتابیس را Rename کرده ایم.
حال باید با استفاده از اسکریپت alter database، این تغییر را برای دیتابیس مربوطه اعمال کنیم. توجه داشته باشید فایل MDF یا فایل فیزیکی دست نخورده باقی مانده است و فقط نام لاگ فایل تغییر کرده است.
هنگامی که اسکریپت فوق موفقیت آمیز اجرا شد، می توانیم دستور زیر را برای بازگرداندن پایگاه داده به صورت آنلاین اجرا کنیم.
اکنون دیتابیس در وضعیت آنلاین قرار گرفت. حال می توانید دوباره نام دیتابیس را با استفاده از اسکریپت زیر چک کنید.
فقط دقت داشته باشید که اگر این دیتابیس به برنامه مرتبط است یا به عبارت دیگر ، نرم افزاری برای ذخیره اطلاعات خود از آن استفاده می کند، باید تغییر نام دیتابیس هم در آن نرم افزار اعمال گردد.
استارت SQL Server در حالت Single User Mode یا تک کاربره
آفلاین کردن دیتابیس در SQL Server
آموزش پایگاه داده اس کیو ال سرور به زبان ساده از مبتدی تا پیشرفته بصورت کاملا کاربردی
دوره آموزش برنامه نویسی بانکهای اطلاعاتی VB.NET + SQL Server
USE SQLAuthority
GO
SELECT file_id, name as [logical_file_name], physical_name
FROM sys.database_files
GO
به جای SQLAuthority باید نام دیتابیس مورد نظر خودتان را جایگزین کنید. سپس اسکریپت فوق را Run کنید.
Change the Physical Database File Name
حالا اجازه دهید که ببینیم چطور می توان با استفاده از یک اسکریپت ساده physical file name یک دتابیس را تغییر داد.اما برای Rename کرن فایل فیزیکی یک دیتابیس، آنهم در زمانی دیتابیس زیر بار و در حال اجرا باشد امکان پذیر نخواهد بود. پس باید در این فرآیند دیتابیس را در حالت آفلاین قرار دهیم. پس ابتدا دیتابیس را در حالت Single user قرار داده و سپس دیتابیس را آفلاین می کنیم.
USE [master];
GO
ALTER DATABASE SQLAuthority
SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
ALTER DATABASE SQLAuthority SET OFFLINE
GO
حال به مکان فیزیکی دیتابیس در هارد دیسک رفته و می توانید آن را Rename کنید. ما در این اینجا فقط Log file این دیتابیس را Rename کرده ایم.
حال باید با استفاده از اسکریپت alter database، این تغییر را برای دیتابیس مربوطه اعمال کنیم. توجه داشته باشید فایل MDF یا فایل فیزیکی دست نخورده باقی مانده است و فقط نام لاگ فایل تغییر کرده است.
ALTER DATABASE SQLAuthority
MODIFY FILE (Name='SQLAuthority_Logs', FILENAME='D:\data\SQLAuthority_Logs.ldf')
GO
هنگامی که اسکریپت فوق موفقیت آمیز اجرا شد، می توانیم دستور زیر را برای بازگرداندن پایگاه داده به صورت آنلاین اجرا کنیم.
USE [master];
GO
ALTER DATABASE SQLAuthority SET ONLINE
Go
ALTER DATABASE SQLAuthority SET MULTI_USER
GO
اکنون دیتابیس در وضعیت آنلاین قرار گرفت. حال می توانید دوباره نام دیتابیس را با استفاده از اسکریپت زیر چک کنید.
USE SQLAuthority
GO
SELECT file_id, name as [logical_file_name], physical_name
FROM sys.database_files
GO
فقط دقت داشته باشید که اگر این دیتابیس به برنامه مرتبط است یا به عبارت دیگر ، نرم افزاری برای ذخیره اطلاعات خود از آن استفاده می کند، باید تغییر نام دیتابیس هم در آن نرم افزار اعمال گردد.
استارت SQL Server در حالت Single User Mode یا تک کاربره
آفلاین کردن دیتابیس در SQL Server
آموزش پایگاه داده اس کیو ال سرور به زبان ساده از مبتدی تا پیشرفته بصورت کاملا کاربردی
دوره آموزش برنامه نویسی بانکهای اطلاعاتی VB.NET + SQL Server
نمایش دیدگاه ها (1 دیدگاه)
دیدگاه خود را ثبت کنید: