<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>SQL Server (και άλλες databases)</title><link>https://www.dotnetzone.gr:443/cs/forums/28/ShowForum.aspx</link><description>Θέματα που αφορούν τον SQL Server (7.0, 2000, 2005) αλλά και Oracle, Access, DB2, MySQL, κλπ.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Backup script σε C# για SQL Server 2005</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/54060.aspx</link><pubDate>Tue, 29 Sep 2009 17:37:40 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:54060</guid><dc:creator>tarasiadis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/54060.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=54060</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;Παναγιώτης Καναβός:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Καταρχήν, μία ερώτηση για SQL Server θα πρέπει να χγίνεται στο forum για SQL Server, όχι στο forum για WPF. &lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/p&gt;&lt;p&gt;ΟΚ sorry απλά η όλη διαδικασία γίνεται σε wpf γιαυτο το ρώτησα εδώ.&lt;/p&gt;&lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;Παναγιώτης Καναβός:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;/p&gt;
&lt;p&gt;Όσον αφορά το backup, το path που χρησιμοποιείς είναι πάντα τοπικό στον SQL Server. Αν π.χ. δώσεις ως path το c:\mybackup.bak, αναφέρεσαι στο C: του SQL Server, όχι στο C: του PC που τρέχει την εφαρμογή σου. Κοίταξες στο server να δεις αν δημιουργήθηκε εκεί το backup?&lt;/p&gt;&lt;p&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/p&gt;&lt;p&gt;Έχεις δίκαιο. Το δημιουργεί στον server.&lt;/p&gt;&lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;Παναγιώτης Καναβός:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;/p&gt;
&lt;p&gt;Αν θέλεις οπωσδήποτε το backup να δημιουργηθεί σε άλλο μηχάνημα θα πρέπει να έχεις δημιουργήσει ένα file share στο οποίο θα έχει πρόσβαση το account του SQL Server service. Μετά, θα πρέπει να δώσεις το path του share, π.χ. &lt;a&gt;\\myclient\myshare\mybackup.bak&lt;/a&gt;, για να γίνει το backup.&lt;/p&gt;&lt;p&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/p&gt;&lt;p&gt;Αυτό δεν το κατάλαβα αλλά θα το ψάξω.&lt;/p&gt;&lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;Παναγιώτης Καναβός:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;/p&gt;
&lt;p&gt;Τέλος, αντί να περνάς απευθείας το file path από το dialog box στο SqlBackup method, είναι καλύτερο να φτιάξεις μία μέθοδο η οποία θα δέχεται ως παράμετρο μόνο το όνομα του server, της βάσης και το path ως string. Έτσι θα είναι πολύ ευκολότερο να πειραματιστείς μέχρι να βρεις τί δουλεύει, χωρίς να μπερδεύονται στα πόδια σου WPF και UI.&lt;/p&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;Thanks.&lt;br&gt;</description></item><item><title>Απ: Backup script σε C# για SQL Server 2005</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/54034.aspx</link><pubDate>Mon, 28 Sep 2009 20:44:12 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:54034</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/54034.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=54034</wfw:commentRss><description>&lt;P&gt;Καταρχήν, μία ερώτηση για SQL Server θα πρέπει να χγίνεται στο forum για SQL Server, όχι στο forum για WPF. &lt;/P&gt;
&lt;P&gt;Όσον αφορά το backup, το path που χρησιμοποιείς είναι πάντα τοπικό στον SQL Server. Αν π.χ. δώσεις ως path το c:\mybackup.bak, αναφέρεσαι στο C: του SQL Server, όχι στο C: του PC που τρέχει την εφαρμογή σου. Κοίταξες στο server να δεις αν δημιουργήθηκε εκεί το backup?&lt;/P&gt;
&lt;P&gt;Αν θέλεις οπωσδήποτε το backup να δημιουργηθεί σε άλλο μηχάνημα θα πρέπει να έχεις δημιουργήσει ένα file share στο οποίο θα έχει πρόσβαση το account του SQL Server service. Μετά, θα πρέπει να δώσεις το path του share, π.χ. &lt;A&gt;\\myclient\myshare\mybackup.bak&lt;/A&gt;, για να γίνει το backup.&lt;/P&gt;
&lt;P&gt;Τέλος, αντί να περνάς απευθείας το file path από το dialog box στο SqlBackup method, είναι καλύτερο να φτιάξεις μία μέθοδο η οποία θα δέχεται ως παράμετρο μόνο το όνομα του server, της βάσης και το path ως string. Έτσι θα είναι πολύ ευκολότερο να πειραματιστείς μέχρι να βρεις τί δουλεύει, χωρίς να μπερδεύονται στα πόδια σου WPF και UI.&lt;/P&gt;</description></item><item><title>Backup script σε C# για SQL Server 2005</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/54030.aspx</link><pubDate>Mon, 28 Sep 2009 20:19:58 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:54030</guid><dc:creator>tarasiadis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/54030.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=54030</wfw:commentRss><description>Καλησπέρα σε όλους,&lt;br&gt;σύμφωνα με το άρθρο http://www.geekpedia.com/tutorial180_Backup-and-restore-SQL-databases.html και προσωπικές παρεμβάσεις για wpf κατάφερα να δημιουργήσω ένα script για backup μιας βάσης σε τοπικό αρχείο.&lt;br&gt;&lt;br&gt;Το Script&lt;br&gt;&lt;table border="0" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr style="vertical-align:top;line-height:normal;"&gt;&lt;td style="width:40px;text-align:right;"&gt;&lt;pre style="margin:0px;padding:2px;font-family:courier new;font-size:11px;color:gray;"&gt;1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
 &lt;/pre&gt;&lt;/td&gt;&lt;td&gt;&lt;pre style="margin:0px;padding:2px 2px 2px 8px;"&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;private&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;void&lt;/span&gt; BackupDB(&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;object&lt;/span&gt; sender, RoutedEventArgs e)
        {
            &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;// Create a new connection to the selected server name&lt;/span&gt;
            ServerConnection srvConn &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; ServerConnection(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"server"&lt;/span&gt;);
            srvConn.LoginSecure &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;false&lt;/span&gt;;
            srvConn.Login &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"login"&lt;/span&gt;;
            srvConn.Password &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"pass"&lt;/span&gt;;
            &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;// Create a new SQL Server object using the connection we created&lt;/span&gt;
            Server srvSql &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; Server(srvConn);

            &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;// Configure save file dialog box&lt;/span&gt;
            Microsoft.Win32.SaveFileDialog saveBackupDialog &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; Microsoft.Win32.SaveFileDialog();          

            &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;// If there was a SQL connection created&lt;/span&gt;
            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;if&lt;/span&gt; (srvSql !&lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;null&lt;/span&gt;)
            {
            &lt;span style="color:Green;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;// Show save file dialog box&lt;/span&gt;
            Nullable&amp;lt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;bool&lt;/span&gt;&amp;gt; result &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; saveBackupDialog.ShowDialog();

            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;if&lt;/span&gt; (result == &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;true&lt;/span&gt;)
                {
                    Backup bkpDatabase &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; Backup();
                    bkpDatabase.Action &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; BackupActionType.Database;
                    bkpDatabase.Database &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"dbname"&lt;/span&gt;;
                    BackupDeviceItem bkpDevice &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; BackupDeviceItem(saveBackupDialog.FileName, DeviceType.File);
                    bkpDatabase.Devices.Add(bkpDevice);
                    bkpDatabase.SqlBackup(srvSql);
                    MessageBox.Show(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Το αντίγραφο ασφαλείας (backup) της εφαρμογής δημιουργήθηκε επιτυχώς."&lt;/span&gt;);
                }
            }
            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;else&lt;/span&gt;
            {
                MessageBox.Show(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"A connection to a SQL server was not established."&lt;/span&gt;);
            }
        }&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br&gt;Ωστόσο έχω φτάσει στο σημείο όπου επιλέγει ο χρήστης το όνομα αρχείου του backup, πατάει ΟΚ καιενώ βλέπω ότι στο Server Management Studio δημιουργείτε το path για το backup, δεν το τρέχει, δηλαδή δεν δημιουργείτε στην ουσία το αρχείο backup.&lt;br&gt;&lt;br&gt;Καμιά ιδέα για το τι μπορεί να φταίει; Κάτι σε δικαιώματα ή κάτι άλλο;&lt;br&gt;Στην συνέχεια θα προχωρήσω και στο restore της βάσης.&lt;br&gt;&lt;br&gt;Ευχαριστώ.&lt;br&gt;</description></item></channel></rss>