我有一个大约4GB的数据库.我复制了该数据库并删除了99%的数据,因为我需要一个只包含模式和基本数据的数据库(主要是保留静态数据).
现在的问题是MDF文件的大小仍然是~4GB.如果我读取表的大小(例如,使用它),它们总和不到20 MB.日志文件已经缩小,但我运行的脚本都没有用于收缩DB文件.
注意:我通常不这样做,但这次我需要缩小数据库(我知道不推荐)
命令:
exec sp_spaceused
Run Code Online (Sandbox Code Playgroud)
输出:
database_name database_size unallocated_space
AccudemiaEmptyDb 3648.38 MB 4.21 MB
Run Code Online (Sandbox Code Playgroud)
命令:
select object_name(id) as objname, SUM(dpages*8) as dpages, COUNT(*) as cnt
from sysindexes
group by id
order by dpages desc
Run Code Online (Sandbox Code Playgroud)
输出:
object_name(id) sum(dpages*8) count(*)
sysdercv 675328 1
sysxmitqueue 359776 1
sysdesend 72216 1
sysconvgroup 47704 1
sysobjvalues 4760 5
sec_OperationAccessRule 3472 5
sec_PageAccessRule 2232 5
syscolpars 656 11
AuditObjects 624 2
sysmultiobjrefs 408 5
HelpPage 376 8
sysschobjs 352 …Run Code Online (Sandbox Code Playgroud) 我开始学习使用谷歌应用引擎,并且在我遇到的大部分代码中,他们将webapp.WSGIApplication的实例声明为全局变量.这似乎没有必要,因为代码在main函数中本地声明时工作正常.我总是被告知应该避免全局变量.那么这样做是否有好的,甚至不那么好的理由?
例:
class Guestbook(webapp.RequestHandler):
def post(self):
greeting = Greeting()
if users.get_current_user():
greeting.author = users.get_current_user()
greeting.content = self.request.get('content')
greeting.put()
self.redirect('/')
application = webapp.WSGIApplication([ ('/', MainPage), ('/sign', Guestbook)], debug=True)
def main():
wsgiref.handlers.CGIHandler().run(application)
Run Code Online (Sandbox Code Playgroud)
为什么不这样做,这也有效:
class Guestbook(webapp.RequestHandler):
def post(self):
greeting = Greeting()
if users.get_current_user():
greeting.author = users.get_current_user()
greeting.content = self.request.get('content')
greeting.put()
self.redirect('/')
def main():
application = webapp.WSGIApplication([ ('/', MainPage), ('/sign', Guestbook)], debug=True)
wsgiref.handlers.CGIHandler().run(application)
Run Code Online (Sandbox Code Playgroud)
这也适用于具有多个请求处理程序的示例.
我有一个带链接的登录页面.如何将用户引导至其他页面的某个部分?
主页:
<a href="/sample">Sushi</a>
<a href="/sample">BBQ</a>
Run Code Online (Sandbox Code Playgroud)
样本页面:
<div id='sushi'></div>
<div id='bbq'></div>
Run Code Online (Sandbox Code Playgroud)
单击主页面中的"Sushi"或"BBQ"应该将用户导航到id sushi或bbq(分别)页面的div sample.
没有JQuery可以吗?我不介意使用JQuery,但使用html的更简单的解决方案也可以.
只是想知道是否有人试图入侵WPF DocumentViewer以使其更有用.我已经花了差不多一个星期的时间,已经尝试根据我使用反射提取的方法为这个控件创建更强大的API.
每个人都知道如何通过反射从文档查看器中获取所选文本,但我的任务更复杂.选定的文本具有End和Start特性,这回ITextPointers.我还有一个使用此代码提取的GlyphRuns集合.现在最后我想找出哪个包含选择开始. GlyphRun
所以我想知道如何转换ITextPointers成GlyphRuns反之亦然.我知道他们没有1:1的关系.这个控制与封闭的API和上周在Reflector花了不让我睡不好觉.我希望也许有人尝试过这样做或者看过代码示例,并且能够指导我完成这些丛林.
我正在尝试通过解决方案资源管理器视图在Visual Studio 2010中查看给定解决方案文件中包含的所有文件的历史记录.我使用TFS 2010进行源代码管理,我知道我可以在Source Control Explorer中递归获取文件夹的历史记录.我的问题是我们在根目录中有多个项目,所有项目都包含在同一目录中的各种解决方案文件中(每个解决方案文件代表一个可部署的组件,包括它们之间的一些"共享代码").我只想查看给定解决方案文件中包含的所有文件的历史记录,而不是查看此根目录中的所有内容.当我在解决方案资源管理器中右键单击解决方案或项目并"查看历史记录"时,我只获取该解决方案文件或项目文件的历史记录,仅此而已.
我正在使用xml序列化,但现在遇到了我以前没见过的运行时错误.
"要进行XML可序列化,从IEnumerable继承的类型必须在其继承层次结构的所有级别都具有Add(System.Object)的实现.ImageEditor.EffectOptions不实现Add(System.Object)"
通过运行时异常强制实现方法似乎有点奇怪,而不是编译时间错误,例如实现的接口缺少方法.
这是设计的吗?这不应该通过某种类型的界面强制执行XmlSerializable吗?
除此之外,我想知道序列化程序是否保证传递正确类型的值,我可以将其转换为类型,在我的情况下EffectOption.
或者我应该实现此Add (object)方法以查看对象是否类型EffectOption,如果没有抛出异常?
我之前没有实现过这个Add (object)方法,但是我的猜测是EffectOption将它转换为EffectOptions集合并将其添加到集合中更安全.
编辑:这是类型本身:
public class EffectOptions : IEnumerable<EffectOption>
{
public List<EffectOption> Options { get; private set; }
//IEnumerable methods
}
Run Code Online (Sandbox Code Playgroud) 我的问题与Android有关.我有以下代码(省略了非相关部分):
public class MyActivity extends ListActivity {
protected void onResume() {
super.onResume();
new UpdateTask().execute();
}
private class UpdateTask extends AsyncTask<Object, Object, ListAdapter> {
protected ListAdapter doInBackground(Object... params) {
SQLiteCursor cursor = db.getSomeData();
startManagingCursor(cursor);
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, ..., cursor, ..., ...);
return adapter;
}
protected void onPostExecute(ListAdapter result) {
listView.setAdapter(result);
}
}
}
Run Code Online (Sandbox Code Playgroud)
这会导致RuntimeException - "无法在实例化SimpleCursorAdapter的行中创建未调用Looper.prepare()的线程内的处理程序".
我理解为什么会发生这种情况,我只是不知道如何修复它(将它保存在一个单独的线程中).我找到了这个帖子:
http://groups.google.com/group/android-developers/browse_thread/thread/34d0069bb2de925e?fwc=2
但我真的不明白答复.我没有谷歌任何涉及SQLiteCursor和AsyncQueryHandler的例子.
你能帮忙吗?谢谢.
现在iPad 2配备了两个CPU内核,线程问题的调试将比以往更加重要.现在我想知道:iOS模拟器实际上是否使用Mac上的多核?
目前我正在创建一个JSON对象,如下所示:
@comments = Array.new
comments.collect do |comment|
@comments << {
:id => comment.id,
:content => html_format(comment.content),
:created_at => comment.created_at
}
end
@comments.to_json
Run Code Online (Sandbox Code Playgroud)
这会返回如下内容:
[{"created_at":"2011-03-02T09:17:27-08:00","content":"<p>Random.......</p>","id":734}, {"created_at":"2011-03-02T09:17:27-08:00","content":"<p>asdasd.......</p>","id":714}, {"created_at":"2011-03-01T09:17:27-08:00","content":"<p>Random.......</p>","id":134}, {"created_at":"2011-03-01T02:17:27-08:00","content":"<p>dasdasdasdasd.......</p>","id":3124}]
Run Code Online (Sandbox Code Playgroud)
这里的问题是我需要包含一些不是数组的其他项.我想要的是JSON对象看起来像这样:
[comments: {"created_at":"2011-03-02T09:17:27-08:00","content":"<p>Random.......</p>","id":734}, {"created_at":"2011-03-02T09:17:27-08:00","content":"<p>asdasd.......</p>","id":714}, {"created_at":"2011-03-01T09:17:27-08:00","content":"<p>Random.......</p>","id":134}, {"created_at":"2011-03-01T02:17:27-08:00","content":"<p>dasdasdasdasd.......</p>","id":3124}, last_load: "123123123123", last_view: "zxczcxzxczxc"]
Run Code Online (Sandbox Code Playgroud)
关于我如何能够采取上述内容的任何想法,并扩展它以传递除注释数组以外的其他项目?
谢谢!