|
dilkonika wrote: How can I do to restore this database with a new name ( DB1) from code in visual basic 2013 ? One could execute a RESTORE[^]-command with the appropriate parameters. Alternatively, you can use SMO.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Hello !
Where can I find some information about doing this process with SMO ?
Because I want to learn both methods.
Thank you !
|
|
|
|
|
dilkonika wrote: Where can I find some information about doing this process with SMO ? There's article's here[^] on CodeProject, and there's examples on TechNet[^].
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
On your opinion , is better to use Transact-SQL or SMO ?
For example :
I'm creating and testing my application on Visual Studio2013 and SQL server 2008R2.
If I need to run my program on SQL server 2005 or SQL server 2012 , will SMO work ?
Thank you !
|
|
|
|
|
dilkonika wrote: On your opinion , is better to use Transact-SQL or SMO ? I tend to prefer scripts; easy to test and update.
SMO would also require a specific version for each version of SQL Server that you want to support. Still, SMO makes it easy to manipulate SQL Server from C#.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Thank you !
I have another question.When I use SMO , I should add to reference some files :
Microsoft.SqlServer.ConnectionInfo.dll
Microsoft.SqlServer.Smo.dll
Microsoft.SqlServer.Management.Sdk.Sfc.dll
Microsoft.SqlServer.SqlEnum.dll
But these files are in folder : C:\Program Files\Microsoft SQL Server\110\SDK\Assemblies\
when I install my application to other computers , can I put these files on application folder or they should be on this folder on destination computer ? But, if I have this application on a client computer that not have sql server installed?
And my last question (Sorry !)
I want to use SMO just for Backup restore operations.I think these are very basic operations.Do you think that one version of SMO (that reference on my application) can support only for these operations even different versions of SQL server (older or newer ?)
Thank you !
|
|
|
|
|
dilkonika wrote: can I put these files on application folder Yes
dilkonika wrote: But, if I have this application on a client computer that not have sql server installed? The SMO-assemblies need to be present, but you don't need Sql Server.
dilkonika wrote: I think these are very basic operations.Do you think that one version of SMO (that reference on my application) can support only for these operations even different versions of SQL server (older or newer ?) You can't use SMO for 2008 on a 2005-server, but the other way around "might" work.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Thank you !
But if I put these files on my application folder , I should change the reference on my application to this directory ?
And if I can do this , let suppose that I run this application on a pc with different version of sql server , is possible only to change these files on my application folder with corresponding files from that version , and may work or I'm wrong ?
|
|
|
|
|
dilkonika wrote: But if I put these files on my application folder , I should change the
reference on my application to this directory ?
No, the reference is not specific to a directory; .NET will look in various locations for an assembly, including your executables working-folder.
dilkonika wrote: let suppose that I run this application on a pc with different version of sql
server , is possible only to change these files on my application folder with
corresponding files from that version , and may work No, that won't work; you write code/compile against the files you referenced. Replace those files and your app stops working.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Ok , but if I use SQL scripts for backup and restore , they are identical on each version of sql server ? So a script that created for sql server 2008R2 , will work on sql server 2005 and sql server 2012 ?
Thank you !
|
|
|
|
|
dilkonika wrote: but if I use SQL scripts for backup and restore , they are identical on each version of sql server ? That's not guaranteed.
Even though the commands will not differ, Microsoft keeps extending it. So, if you take care not to use any switches that are specific to a version, it should work on all machines.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Sorry !
Maybe it's a stupid question , but anyway.
These are the files needed by smo :
Microsoft.SqlServer.ConnectionInfo.dll
Microsoft.SqlServer.Smo.dll
Microsoft.SqlServer.Management.Sdk.Sfc.dll
Microsoft.SqlServer.SqlEnum.dll
and on different folders of my program I have versions of these file from different sql server versions.
and I reference all these file to my program , and on runtime check which version of sql server is installed ??!!
Can I go to a solution with this way ?
Thank you !
|
|
|
|
|
Hello !
I'm working with VB.net 2013 entity framework 6 and sql server 2008r2 ( installed on local machine).
I'm facing a strange situation :
The first query that is executed on my application , run very slow ( For example query=(from t in context.DB1 select t).tolist)For the second time , even if I execute a different query (query2=(From t in context.DB2 select t).tolist ) , this run almost instantly.
Why !
What can I do ?
Thank you !
|
|
|
|
|
Try running a query without EF, to determine whether it's an EF startup problem or a database startup problem.
If it's the database, the most likely cause would be having auto-close enabled[^] on the database.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Autoclose is false to my database
|
|
|
|
|
One thing I would ask is there a difference in size between the 2 tables?
As the tolist forces the query to be executed against the database.
Every day, thousands of innocent plants are killed by vegetarians.
Help end the violence EAT BACON
|
|
|
|
|
I have make this test :
First query to a small table - long delay
Second query to a bigger table - very fast
Third query to the first small table - very fast
|
|
|
|
|
if you are able show the code that you are using
Every day, thousands of innocent plants are killed by vegetarians.
Help end the violence EAT BACON
|
|
|
|
|
I'm using Entity , and the code is :
Dim context as new MyEntities
Query=(From t in context.DB1 select t).Tolist
Query2=(From t in context.DB2 select t).tolist
|
|
|
|
|
dilkonika wrote: What can I do Write a console app, and select where 1=1 from your database. Put that console-app in the startup-folder.
It may have multiple reasons; a database-server that isn't active yet, a database that's not yet loaded, the cache being empty, the enumerator waiting until it's enumerated..
I assume you're timing the query from a profiler?
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Sorry !
But Select from which table , because I get error with just "Select where 1=1"
|
|
|
|
|
Uhhhh... you don't know much of anything about SQL servers, do you?
I suggest you learn before trying to write an application that uses one.
To answer answer your question, ANY TABLE IN YOUR DATABASE! Use you brain man!
|
|
|
|
|
I never used any command like that. ( Why do I need to select from any table ???!!!! )
for the things that I need on my application I have writed all the sql commands.
For this thing that I doesn't know I thought to ask in this forum.
If you want to help people, is better to give the answer than to insult them.
"Select where 1=1" give errors to me.
Thank you !
|
|
|
|
|
You've never run a command like this against a database?:
SELECT IDfieldName FROM someTable WHERE someCondition
You've never written an application that has used a database before, have you? That's the most ubiquitous query, used by every single application ever written that hits a database engine.
Hey, you wanted to find out if your database was up and running, right?? Possibly get the client "warmed up" so subsequent queries execute faster, right?? What better way than to run a small SELECT against it?
But, hey, after 35+ years of writing code, what do I know...
|
|
|
|
|
I was talking about the command "Select Where 1=1"
In this command "IDfieldname" and "someTable" are missing
Congratulations for your 35+ years of writing code , but I think is better to share with us some of your information without angry.
It's not shame to make even stupid questions.
Anyway , thank you !
|
|
|
|